Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance improvement #397

Merged
merged 4 commits into from Apr 29, 2016
Merged

Performance improvement #397

merged 4 commits into from Apr 29, 2016

Commits on Mar 15, 2016

  1. Avoid re-parsing by pre-computing a method-body table

    RDoc::Parser::C#find_body parsed file_content every time to find the
    method body.  Now it creates a method-body table first, which avoid
    mutliple parsing.
    mame committed Mar 15, 2016
    Copy the full SHA
    6d3c15c View commit details
    Browse the repository at this point in the history
  2. Avoid re-parsing by pre-computing a const table

    Similar to 6d3c15c
    mame committed Mar 15, 2016
    Copy the full SHA
    bd698a4 View commit details
    Browse the repository at this point in the history
  3. Cache the result of Time.parse

    Time.parse is painfully slow.
    mame committed Mar 15, 2016
    Copy the full SHA
    869202f View commit details
    Browse the repository at this point in the history
  4. Remove an extra branch from the bottleneck

    RDoc::RubyLex#getc is the bottleneck in RDoc.  It determined which
    ungetc buffer to use by branching upon `@here_header`.  We can remove
    the branch by replacing `@here_header` flag with `@current_readed`,
    which represents the current buffer directly,
    mame committed Mar 15, 2016
    Copy the full SHA
    72f14d8 View commit details
    Browse the repository at this point in the history