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

Speed up stylist rebuilds #16659

Merged
merged 5 commits into from Apr 30, 2017
Merged

Speed up stylist rebuilds #16659

merged 5 commits into from Apr 30, 2017

Commits on Apr 29, 2017

  1. Unbust unit tests.

    Not sure how this managed to get past bors before.
    bholley committed Apr 29, 2017
  2. Factor out the various things stylist does per-selector into helpers.

    This makes things more readable, and easier to profile (since the Gecko
    profiler doesn't have any intra-function granularity, so I tend to make
    helpers non-inline when drilling down into what's expensive).
    
    It allows us to iterate the selector list once, which could help cache locality
    for rules with many selectors.
    
    MozReview-Commit-ID: GdFtgrbYCIu
    bholley committed Apr 29, 2017
  3. Use a single rule hash for both lower_name and name.

    Right now in the common case we're doing twice the work during stylist update,
    and also checking is_html_element_in_html_document twice during lookup. This
    patch aligns us with what Gecko does.
    
    MozReview-Commit-ID: D4TyG30BP8C
    bholley committed Apr 29, 2017
  4. Clean up note_selector a bit and stop handling combinators in two pla…

    …ces.
    
    MozReview-Commit-ID: HhVi72K4yp0
    bholley committed Apr 29, 2017
  5. Make note_selector more efficient.

    My measurements are inconclusive as to whether this really moves the
    needle, but it seems like the right way to do it in any case.
    
    MozReview-Commit-ID: 7OuCc2aQ7jH
    bholley committed Apr 29, 2017
You can’t perform that action at this time.