[LLVMbugs] [Bug 11941] New: clang's debug information generation slows down linking chrome 20% compared to gcc 4.4

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Feb 7 11:32:21 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=11941

             Bug #: 11941
           Summary: clang's debug information generation slows down
                    linking chrome 20% compared to gcc 4.4
           Product: clang
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: LLVM Codegen
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: nicolasweber at gmx.de
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


object files generated by clang tend to take ~20% longer to link than the ones
generated by gcc, due to chubby/different debug information.

I did incremental builds (touch one file, measure rebuild time – this measures
almost exclusively ld time) of the chrome binary in several scenarios. In debug
builds, the object files generated by clang take up to 6 seconds longer to link
into a final binary (36s instead of 30s, or in with a shared library build, 31s
instead of 27s). In release builds, there's no big difference.

So while compiling with clang is faster, linking the resulting object files
currently takes longer.

Raw numbers (each is the min of 3 runs):

Chrome incremental build times (ninja, gold on by default, debug
builds, gcc4.4, chromeclang)
gcc
touch file in net (net/base/mime_util.cc) 29.4s
touch file in browser (c/b/u/g/chrome_gtk_frame.cc) 32.8s

clang
touch file in net 35.9s
touch file in browser 36.3s

gcc component build (libv8.so instead of libv8.a etc)
touch file in net 26.5s
touch file in browser 8.7s

clang component build
touch file in net 30.8s
touch file in browser 10.6s

(release builds)
gcc
touch file in net 6.4s
touch file in browser 5.9s

clang
touch file in net 6.3s
touch file in browser 6.2s

gcc component
touch file in net 6.7s
touch file in browser 3.1s

clang component
touch file in net 6.6s
touch file in browser 3.2s

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list