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

2012-11-14 Thread jakub at gcc dot gnu.org


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



--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-14 
16:37:36 UTC ---

Also, this comparison doesn't have numbers for pure clang without

-fsanitize=address and gcc without -faddress-sanitizer, so likely most of the

speed differences can't be attributed just to asan.


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

2012-11-14 Thread markus at trippelsdorf dot de


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



--- Comment #5 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-11-14 17:02:54 UTC ---

(In reply to comment #4)

 Also, this comparison doesn't have numbers for pure clang without

 -fsanitize=address and gcc without -faddress-sanitizer, so likely most of the

 speed differences can't be attributed just to asan.



Yes. It was meant as a rough estimate.



Here is a more complete result (clang trunk build with Release mode,

gcc trunk with --enable-checking=release and lto/profiledbootstraped):



  clang (with-without):  1278.47-662.47 = 616

  gcc   (with-without):  2733.02-1168.07= 1564.95



That's still a 60.64% slowdown.


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

2012-11-13 Thread konstantin.s.serebryany at gmail dot com


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



Konstantin Serebryany konstantin.s.serebryany at gmail dot com changed:



   What|Removed |Added



 CC||konstantin.s.serebryany at

   ||gmail dot com



--- Comment #1 from Konstantin Serebryany konstantin.s.serebryany at gmail dot 
com 2012-11-13 21:10:23 UTC ---

While this is an interesting comparison, I should note that 

the typical use of asan is with -O1 or -O2, 

so it might make more sense to  compare the asan implementations at -O1/-O2


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

2012-11-13 Thread markus at trippelsdorf dot de


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



--- Comment #2 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-11-13 21:31:08 UTC ---

gcc uses -O2 -g by default for --disable-bootstrap.



Also ,to be fair, if one uses a profiledbootstrapped gcc configured with

--enable-checking=release to build it only takes 12:58.77 on the same machine.


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

2012-11-13 Thread jakub at gcc dot gnu.org


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jakub at gcc dot gnu.org



--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-14 
07:51:44 UTC ---

Note that GCC doesn't perform any ASAN optimizations yet (if the same address

is written or read several times in the same bb, it doesn't optimize away the

tests).  We plan to first switch to first expanding the shadow memory checks as

simple builtins without control flow, performing optimizations on them and only

later on (in fab pass?) to expand it to the longer sequences with control flow

in them.