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

Optimize name parsing #1388

Merged
merged 4 commits into from Mar 8, 2021
Merged

Commits on Mar 6, 2021

  1. Copy the full SHA
    116a4a8 View commit details
    Browse the repository at this point in the history
  2. Optimize Name parsing by using a pair of TinyVec

    The previous implementation used Rc to represent Label, then composed
    those in an array to represent Name. That produced a large number of
    small allocations in the parsing code path. This new implementation
    avoids allocations entirely for small names, and unless the name has a
    very large number of labels, it is stored entirely in one allocation.
    
    This also removes the Index impl for Name. Since we no longer contain
    any Labels, we cannot implement that (a common problem with Index leaking
    implementation details).
    saethlin committed Mar 6, 2021
    Copy the full SHA
    7b6b79a View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    31cba74 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    d5d3db5 View commit details
    Browse the repository at this point in the history