[Bro-Dev] new IPv6 code
Siwek, Jonathan Luke
jsiwek at illinois.edu
Thu Feb 9 11:29:36 PST 2012
On Feb 9, 2012, at 2:31 AM, Robin Sommer wrote:
> I need to look more closely but a quick note: most of the IPAddr
> methods should probably be inlined to avoid the function call
> overhead. That might help a bit with the CPU.
Yes, that closed the difference between --enable-brov6 and topic/v6-addr.
On Feb 8, 2012, at 8:59 PM, Seth Hall wrote:
> Can we increase the size of the H3 hash keys? I don't know enough about it to know what the ramifications of it would be or if it's even possible (but it seems to me like it should be possible from a quick read of h3.h).
Yeah, I think the 32 byte data size threshold for switching algorithms is arbitrary. Increasing to 36 bytes so that ConnID::Key doesn't go through HMAC/MD5 helped a lot.
With both those changes I get a +17% cpu time difference versus the default master configuration (down from +45%). About a fourth of that looks like it's still the result of having to hash/lookup larger ConnID::Key data. Accounting for the other difference is pretty spread out among other routines -- I'm thinking that's from now having to always deal with 16 bytes instead of 4 when working with addrs.
Thoughts on next steps? I'm thinking we could probably optimize even more so IPv4 addrs perform better, but maybe this is acceptable enough to be considered for merging into master?
More information about the bro-dev