BIND 10 #536: Make OutputBuffer more lightweight
BIND 10 Development
do-not-reply at isc.org
Mon Jan 31 17:18:51 UTC 2011
#536: Make OutputBuffer more lightweight
-------------------------------------+-------------------------------------
Reporter: vorner | Owner: UnAssigned
Type: task | Status: reviewing
Priority: major | Milestone: A-Team-
Component: | Sprint-20110209
DNSPacket API | Resolution:
Keywords: | Sensitive: 0
Estimated Number of Hours: 0.0 | Add Hours to Ticket: 0
Billable?: 1 | Total Hours: 0
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by vorner):
Ups, sorry, I looked wrong, I compiled it without --enable-static, so I
was examining only the functions inside bin/auth. So, correction.
It does not inline unless the bounds check is removed (even if told to
explicitly, the compilers have no respect and do whatever they like). The
numbers I mentioned above are valid, only when compiled without --with-
lcov it runs slightly faster. So, the commited code had some 26kQPS, the
one without bounds check 32kQPS here.
The profile doesn't change much with the bounds check, without it changes
to this:
{{{
47446 23.7183 isc::dns::Name::compare(isc::dns::Name const&) const
30205 15.0995 isc::dns::MessageRenderer::writeName(isc::dns::Name
const&, bool)
26195 13.0949 boost::detail::shared_count::~shared_count()
15388 7.6925 asiolink::UDPServer::UDPServer(asiolink::UDPServer
const&)
6560 3.2793 asiolink::UDPServer::~UDPServer()
}}}
Most of it probably got inlined into compare, but the writeName got faster
as well, rendering some next problems more significant (eg. the shared
pointers).
About the bounds check, what is the price of trading? If the check is not
there and there's a bug, user will see a SEGFAULT instead of exception (I
guess a bounds check exception shouldn't be caught anyway). Is the
performance worth it? Should I bring it to the dev list? Or, do we have
any rules about it?
--
Ticket URL: <https://bind10.isc.org/ticket/536#comment:4>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list