[Bug sanitizer/55309] gcc's address-sanitizer 66% slower than clang's

kcc at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 12 06:48:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55309

--- Comment #32 from Kostya Serebryany <kcc at gcc dot gnu.org> 2013-02-12 06:47:56 UTC ---
Good news, 0x7fff8000 seems great: 

t0: orig
t1: short offset (0x7fff8000)
t2: zero offset + pie

                  t0       t1     t1/t0   t2    t2/t0  t2/t1
-----------------------------------------------------------
 400.perlbench, 1206.00, 1151.00, 0.95, 1192.00, 0.99, 1.04
     401.bzip2,  884.00,  842.00, 0.95,  821.00, 0.93, 0.98
       403.gcc,  738.00,  722.00, 0.98,  716.00, 0.97, 0.99
       429.mcf,  609.00,  596.00, 0.98,  586.00, 0.96, 0.98
     445.gobmk,  844.00,  804.00, 0.95,  809.00, 0.96, 1.01
     456.hmmer, 1304.00, 1223.00, 0.94, 1235.00, 0.95, 1.01
     458.sjeng,  916.00,  868.00, 0.95,  897.00, 0.98, 1.03
462.libquantum,  547.00,  535.00, 0.98,  534.00, 0.98, 1.00
   464.h264ref, 1328.00, 1313.00, 0.99, 1265.00, 0.95, 0.96
   471.omnetpp,  628.00,  601.00, 0.96,  596.00, 0.95, 0.99
     473.astar,  665.00,  646.00, 0.97,  657.00, 0.99, 1.02
 483.xalancbmk,  480.00,  449.00, 0.94,  445.00, 0.93, 0.99
      433.milc,  709.00,  655.00, 0.92,  656.00, 0.93, 1.00
      444.namd,  636.00,  594.00, 0.93,  593.00, 0.93, 1.00
    447.dealII,  649.00,  615.00, 0.95,  637.00, 0.98, 1.04
    450.soplex,  390.00,  374.00, 0.96,  370.00, 0.95, 0.99
    453.povray,  452.00,  402.00, 0.89,  421.00, 0.93, 1.05
       470.lbm,  389.00,  378.00, 0.97,  387.00, 0.99, 1.02
   482.sphinx3,  980.00,  930.00, 0.95,  926.00, 0.94, 1.00

So, 0x7fff8000 seems to be a win, even compared to pie+zerobase. 
We'll do some more testing a flip the switch in clang. 

There is another suggestion (from dvyukov) to use -Wl,-Ttext-segment=0x40000000
together with zerobase (pie is not required) which is worth investigating.



More information about the Gcc-bugs mailing list