Bugzilla – Bug 88
Ipv4Address operator ==, !=, < should be inline for performance
Last modified: 2007-10-11 10:40:32 UTC
As seen in http://www.nsnam.org/bugzilla/attachment.cgi?id=76, Ipv4Address operators are consuming significant time in my OLSR simulations. Making them inline improves a script of mine simulation time from 3 to 2.5 seconds. I would attach a patch, but bugzilla is temporarily broken and won't let me.
hm.. I made a mistake in the previous measurements. Correct tests follow: gjc@spectrum:ns-3-olsr-swlan$ time ./build/optimized/utils/bench-olsr --num-nodes 15 0:38.7298:0:38.7298 Average Delay: 2.93073 s Packet Loss: 64.5603 % real 0m11.236s user 0m10.857s sys 0m0.100s gjc@spectrum:ns-3-olsr-swlan$ time ./build/optimized/utils/bench-olsr --num-nodes 15 0:38.7298:0:38.7298 Average Delay: 2.82314 s Packet Loss: 63.3327 % real 0m15.627s user 0m15.253s sys 0m0.084s gjc@spectrum:ns-3-olsr-swlan$ time ./build/optimized/utils/bench-olsr --num-nodes 15 0:38.7298:0:38.7298 Average Delay: 2.92139 s Packet Loss: 64.3521 % real 0m12.926s user 0m12.233s sys 0m0.040s gjc@spectrum:ns-3-olsr-swlan$ hg revert src/node/ipv4-address.{h,cc} gjc@spectrum:ns-3-olsr-swlan$ gjc@spectrum:ns-3-olsr-swlan$ gjc@spectrum:ns-3-olsr-swlan$ gjc@spectrum:ns-3-olsr-swlan$ gjc@spectrum:ns-3-olsr-swlan$ gjc@spectrum:ns-3-olsr-swlan$ gjc@spectrum:ns-3-olsr-swlan$ gjc@spectrum:ns-3-olsr-swlan$ gjc@spectrum:ns-3-olsr-swlan$ gjc@spectrum:ns-3-olsr-swlan$ time ./build/optimized/utils/bench-olsr --num-nodes 15 0:38.7298:0:38.7298 Average Delay: 2.8314 s Packet Loss: 63.4598 % real 0m17.499s user 0m16.717s sys 0m0.096s gjc@spectrum:ns-3-olsr-swlan$ time ./build/optimized/utils/bench-olsr --num-nodes 15 0:38.7298:0:38.7298 Average Delay: 2.82491 s Packet Loss: 63.0099 % real 0m15.068s user 0m14.749s sys 0m0.068s gjc@spectrum:ns-3-olsr-swlan$ time ./build/optimized/utils/bench-olsr --num-nodes 15 0:38.7298:0:38.7298 Average Delay: 2.91977 s Packet Loss: 64.2376 % real 0m15.457s user 0m14.805s sys 0m0.096s Average user time with patch (inline operators): 12.781 s Average user time without patch: 15.424 s (+20%)
Created attachment 78 [details] make critical Ipv4Address methods/operators inline
ok for me.