------- Comment #19 from lothar at tradescape dot biz 2008-07-28 18:55 ------- Created an attachment (id=15973) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15973&action=view) oprofile logs
I compiled optimized executables with and without -fno-strict-aliasing and generated an oprofile log for them: /opt2/linux/ix86/bin/g++-4.3.1 -m64 -O3 -no-strict-aliasing -g -I/opt2/linux/x86_64/include/boost-1_35 -DUSE_OPTIMIZATION=0 -o ./avltest-non ./avltest.cpp /opt2/linux/ix86/bin/g++-4.3.1 -m64 -O3 -fno-strict-aliasing -g -I/opt2/linux/x86_64/include/boost-1_35 -DUSE_OPTIMIZATION=0 -o ./avltest-non ./avltest.cpp sudo opcontrol --reset; sudo opcontrol --start; ./avltest-no; ./avltest-non ; sudo opcontrol --stop opannotate --source --assembly --demangle=smart --threshold=1 ./avltest-no >./avltest-no.oprofile.txt opannotate --source --assembly --demangle=smart --threshold=1 ./avltest-non >./avltest-non.oprofile.txt diff -u ./avltest-no.oprofile.txt ./avltest-non.oprofile.txt ./avltest-diff.oprofile.txt $ time ./avltest-non sizeof(Node)=72 sizeof(NodeSet)=40 creating file ./avltest.img done region.get_address()=0x7f4d43ed1000 region.get_size()=3600056 p_set=0x7f4d43ed1000 p_values=0x7f4d43ed1030 created/inserted 50000 entries region.get_address()=0x7f4d43b62000 region.get_size()=3600056 p_set=0x7f4d43b62000 p_values=0x7f4d43b62030 checked 50000 entries, result=1249975000 real 0m0.614s user 0m0.140s sys 0m0.016s $ time ./avltest-no sizeof(Node)=72 sizeof(NodeSet)=40 creating file ./avltest.img done region.get_address()=0x7f7fdce43000 region.get_size()=3600056 p_set=0x7f7fdce43000 p_values=0x7f7fdce43030 created/inserted 50000 entries region.get_address()=0x7f7fdcad4000 region.get_size()=3600056 p_set=0x7f7fdcad4000 p_values=0x7f7fdcad4030 checked 50000 entries, result=1249975000 real 0m22.634s user 0m22.277s sys 0m0.120s I hope these tests aid in finding the problem -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36861