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

Revamp label compression code which (+ some cleanups) speeds up large packet creation by ~40% #4373

Merged
merged 13 commits into from Sep 1, 2016

Commits on Aug 27, 2016

  1. Copy the full SHA
    7448abd View commit details
    Browse the repository at this point in the history
  2. add some more speedtests

    ahupowerdns committed Aug 27, 2016
    Copy the full SHA
    6b0ea82 View commit details
    Browse the repository at this point in the history
  3. add pre-made DNSName objects for the root and wildcard. Move DNSName=…

    …= inline. Reverse its comparison order.
    ahupowerdns committed Aug 27, 2016
    Copy the full SHA
    c21484d View commit details
    Browse the repository at this point in the history
  4. save a ton of DNSName(".") and DNSName("*") instantiations. Even thou…

    …gh these live on the stack, we were going through needless motions.
    ahupowerdns committed Aug 27, 2016
    Copy the full SHA
    12c0621 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    9fdc083 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    031f685 View commit details
    Browse the repository at this point in the history
  7. add a test that verifies (again) that SOA records get good compressio…

    …n of names within themselves. Output easier to interpret than that from test-dnsrecords.
    ahupowerdns committed Aug 27, 2016
    Copy the full SHA
    32e5beb View commit details
    Browse the repository at this point in the history
  8. the all new label compression code that is 40% faster even on fast ma…

    …lloc. This commit has a bug with compression within records, and it will fail the tests we made for that too.
    ahupowerdns committed Aug 27, 2016
    Copy the full SHA
    802a93d View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    8c0139b View commit details
    Browse the repository at this point in the history
  10. Copy the full SHA
    fea4599 View commit details
    Browse the repository at this point in the history
  11. remove d_record idea from DNSPacketWriter: write the packet directly …

    …now. Solves SOA-inter record compression bug. Still left to do: add check for names with more labels than we are prepared to handle. Plus handle that case.
    ahupowerdns committed Aug 27, 2016
    Copy the full SHA
    e636cab View commit details
    Browse the repository at this point in the history
  12. Copy the full SHA
    57ddc8b View commit details
    Browse the repository at this point in the history
  13. add test case for domains with more than 34 parts which our static ve…

    …ctor can't compress. Plus deal with that case.
    ahupowerdns committed Aug 27, 2016
    Copy the full SHA
    98cda0a View commit details
    Browse the repository at this point in the history