From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32757 invoked by alias); 5 Feb 2013 09:22:42 -0000 Received: (qmail 32321 invoked by uid 48); 5 Feb 2013 09:22:02 -0000 From: "kcc at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug sanitizer/55309] gcc's address-sanitizer 66% slower than clang's Date: Tue, 05 Feb 2013 09:22:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: sanitizer X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: kcc at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2013-02/txt/msg00359.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55309 --- Comment #6 from Kostya Serebryany 2013-02-05 09:21:59 UTC --- I am slightly confused. Are we discussing compile time or test-run-time? I've just built SPEC 2006 with -fsanitize=address -O2 gcc: r195706 clang: r174324 Measured on Intel(R) Xeon(R) CPU W3690 @ 3.47GHz clang gcc 400.perlbench, 1209.00, -1.00, -0.00 401.bzip2, 885.00, 1187.00, 1.34 403.gcc, 739.00, 756.00, 1.02 429.mcf, 602.00, 612.00, 1.02 445.gobmk, 840.00, 1191.00, 1.42 456.hmmer, 1304.00, 1838.00, 1.41 458.sjeng, 923.00, 1326.00, 1.44 462.libquantum, 543.00, 481.00, 0.89 464.h264ref, 1271.00, -1.00, -0.00 471.omnetpp, 631.00, 624.00, 0.99 473.astar, 672.00, 765.00, 1.14 483.xalancbmk, 500.00, 521.00, 1.04 433.milc, 710.00, 629.00, 0.89 444.namd, 637.00, 539.00, 0.85 447.dealII, 650.00, 714.00, 1.10 450.soplex, 389.00, 419.00, 1.08 453.povray, 459.00, 432.00, 0.94 470.lbm, 388.00, 409.00, 1.05 482.sphinx3, 998.00, 1335.00, 1.34 400.perlbench fails with a real asan-ish warning (clang can use a blacklist file and disables instrumentation for the buggy function. See https://code.google.com/p/address-sanitizer/wiki/FoundBugs#Spec_CPU_2006 and https://code.google.com/p/address-sanitizer/wiki/AddressSanitizer#Turning_off_instrumentation) 464.h264ref with gcc loops forever, I did not investigate why. So, on average clang+asan is faster than gcc-asan (up to 40%!), but in some cases (mostly, FP code) gcc is faster (up to 15%)