BIND 10 #1568: Change throw to assert to gain performance
BIND 10 Development
do-not-reply at isc.org
Mon Mar 12 21:09:57 UTC 2012
#1568: Change throw to assert to gain performance
-------------------------------------+-------------------------------------
Reporter: | Owner: vorner
vorner | Status: reviewing
Type: | Milestone:
enhancement | Sprint-20120320
Priority: | Resolution:
medium | Sensitive: 0
Component: | Sub-Project: DNS
b10-auth | Estimated Difficulty: 0
Keywords: | Total Hours: 0
Defect Severity: N/A |
Feature Depending on Ticket: |
performance |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by vorner):
So, I measured it (and noticed a test was failing for the original branch
‒ but I'd solve only if we go for it). The results are as follows:
The original, unchanged (with changes from #1603):
{{{
Parameters:
Iterations: 100000
Benchmark for old MessageRenderer (positive response)
Performed 4200000 iterations in 5.414628s (775676.56ips)
Benchmark for dumb MessageRenderer (positive response)
Performed 4200000 iterations in 0.307879s (13641722.88ips)
Benchmark for new MessageRenderer (positive response)
Performed 4200000 iterations in 0.982537s (4274648.18ips)
Benchmark for old MessageRenderer (NXDOMAIN response)
Performed 400000 iterations in 0.327549s (1221191.33ips)
Benchmark for dumb MessageRenderer (NXDOMAIN response)
Performed 400000 iterations in 0.006059s (66017494.64ips)
Benchmark for new MessageRenderer (NXDOMAIN response)
Performed 400000 iterations in 0.110053s (3634612.41ips)
Benchmark for old MessageRenderer (SERVFAIL response)
Performed 100000 iterations in 0.027959s (3576665.83ips)
Benchmark for dumb MessageRenderer (SERVFAIL response)
Performed 100000 iterations in 0.001662s (60168471.72ips)
Benchmark for new MessageRenderer (SERVFAIL response)
Performed 100000 iterations in 0.033245s (3007971.12ips)
}}}
With the assert (applied to #1603, now trac1568_new):
{{{
Parameters:
Iterations: 100000
Benchmark for old MessageRenderer (positive response)
Performed 4200000 iterations in 1.967427s (2134767.90ips)
Benchmark for dumb MessageRenderer (positive response)
Performed 4200000 iterations in 0.144562s (29053278.18ips)
Benchmark for new MessageRenderer (positive response)
Performed 4200000 iterations in 0.699861s (6001191.67ips)
Benchmark for old MessageRenderer (NXDOMAIN response)
Performed 400000 iterations in 0.131807s (3034740.19ips)
Benchmark for dumb MessageRenderer (NXDOMAIN response)
Performed 400000 iterations in 0.006047s (66148503.39ips)
Benchmark for new MessageRenderer (NXDOMAIN response)
Performed 400000 iterations in 0.087616s (4565376.19ips)
Benchmark for old MessageRenderer (SERVFAIL response)
Performed 100000 iterations in 0.023528s (4250255.02ips)
Benchmark for dumb MessageRenderer (SERVFAIL response)
Performed 100000 iterations in 0.001675s (59701492.54ips)
Benchmark for new MessageRenderer (SERVFAIL response)
Performed 100000 iterations in 0.030313s (3298914.66ips)
}}}
And with the private method (pushed as track1568_method):
{{{
Parameters:
Iterations: 100000
Benchmark for old MessageRenderer (positive response)
Performed 4200000 iterations in 3.635178s (1155376.71ips)
Benchmark for dumb MessageRenderer (positive response)
Performed 4200000 iterations in 0.169868s (24725080.65ips)
Benchmark for new MessageRenderer (positive response)
Performed 4200000 iterations in 0.855160s (4911361.62ips)
Benchmark for old MessageRenderer (NXDOMAIN response)
Performed 400000 iterations in 0.230515s (1735244.99ips)
Benchmark for dumb MessageRenderer (NXDOMAIN response)
Performed 400000 iterations in 0.006246s (64040986.23ips)
Benchmark for new MessageRenderer (NXDOMAIN response)
Performed 400000 iterations in 0.096402s (4149291.51ips)
Benchmark for old MessageRenderer (SERVFAIL response)
Performed 100000 iterations in 0.022769s (4391936.40ips)
Benchmark for dumb MessageRenderer (SERVFAIL response)
Performed 100000 iterations in 0.001805s (55401662.05ips)
Benchmark for new MessageRenderer (SERVFAIL response)
Performed 100000 iterations in 0.032079s (3117304.16ips)
}}}
So there seems to be some difference. Let's wait for tomorrow call and
discuss it over.
--
Ticket URL: <http://bind10.isc.org/ticket/1568#comment:10>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list