Bug 901

Summary: Optimize Mac48Address < != and ==
Product: ns-3 Reporter: Gustavo J. A. M. Carneiro <gjcarneiro>
Component: networkAssignee: ns-bugs <ns-bugs>
Status: RESOLVED FIXED    
Severity: enhancement CC: craigdo, tomh
Priority: P5    
Version: ns-3-dev   
Hardware: All   
OS: All   
Attachments: patch
benchmark

Description Gustavo J. A. M. Carneiro 2010-04-29 09:55:54 EDT
Created attachment 853 [details]
patch

Mac48Address operators can be greatly optimized by always using memcmp and making them inline.  Here's a micro-benchmark:

gjc@dark-tower:ns-3-dev$ time ./build/optimized/utils/bench-mac48 1000000000

real	0m14.926s
user	0m14.810s
sys	0m0.020s
gjc@dark-tower:ns-3-dev$ time ./build/optimized/utils/bench-mac48 1000000000

real	0m14.921s
user	0m14.820s
sys	0m0.030s
gjc@dark-tower:ns-3-dev$ time ./build/optimized/utils/bench-mac48 1000000000

real	0m14.893s
user	0m14.820s
sys	0m0.010s


============== with the patch ===========

gjc@dark-tower:ns-3-dev$ time ./build/optimized/utils/bench-mac48 1000000000

real	0m1.136s
user	0m1.120s
sys	0m0.000s
gjc@dark-tower:ns-3-dev$ time ./build/optimized/utils/bench-mac48 1000000000

real	0m1.146s
user	0m1.140s
sys	0m0.000s
gjc@dark-tower:ns-3-dev$ time ./build/optimized/utils/bench-mac48 1000000000

real	0m1.136s
user	0m1.130s
sys	0m0.000s
Comment 1 Gustavo J. A. M. Carneiro 2010-04-29 09:56:48 EDT
Created attachment 854 [details]
benchmark
Comment 2 Gustavo J. A. M. Carneiro 2010-06-20 11:42:03 EDT
Ping?  This seems like a no-brainer: clear speedup, small patch...
Comment 3 Craig Dowell 2010-06-20 13:04:28 EDT
+1
Comment 4 Tom Henderson 2010-07-21 09:35:29 EDT
changeset 406385ce683c