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

Implement a smarter dedup for filling packets in auth #6730

Merged
merged 3 commits into from Jun 14, 2018

Conversation

Projects
None yet
2 participants
@ahupowerdns
Copy link
Member

ahupowerdns commented Jun 12, 2018

Short description

When we fill packets in the auth server, we check for duplicates.. in a very very slow way. With this PR, an unordered_set is used to speed up this process.

This plot shows the time we take to fill a packet (in microseconds) with increasing number of records:
image
This PR appears to be a speedup at all packet sizes - except for a measurement error at the first ever query.

Checklist

I have:

  • read the CONTRIBUTING.md document
  • compiled this code
  • tested this code
  • included documentation (including possible behaviour changes)
  • documented the code
  • added or modified regression test(s)
  • added or modified unit test(s)
  • checked that this code was merged to master

@rgacogne rgacogne added this to the auth-4.2.0 milestone Jun 12, 2018

@ahupowerdns ahupowerdns merged commit 4144ec1 into PowerDNS:master Jun 14, 2018

4 checks passed

LGTM analysis: C/C++ No alert changes
Details
LGTM analysis: JavaScript No alert changes
Details
LGTM analysis: Python No alert changes
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment