(Sorry, previous post got sent by accident. This is the real one) Folks, Here's some timing results looking at LLVM when it uses libLLVMCore.o vs. libLLVMCore.a. We're trying to decide which way to go and thought some data would help. The net of it is that using libLLVMCore.a is cheaper in both time and size of executables. We save 37 seconds on linking LLVMCore and about 1 minute 30 seconds linking all the tools. The executables are all about 700K smaller (debug) with the library. The data below was generated from using GCC 3.4.6 and binutils 2.15.92 on Fedora Core 3 running on a 2.4GHz Dual Xenon with 1GB of ram. Time With libLLVMCore.a With LLVMCore.o Link Real Time (-j 1) 2m12.592s 3m51.750s Link Real Time (-j 3) 1m49.682s 2m51.257s Link User Time (-j 1) 1m40.764s 3m16.352s Link User Time (-j 3) 2m19.972s 6m42.644s Link System Time (-j1) 0m15.632s 0m17.127s Link System Time (-j 1) 0m20.065s 0m31.693s make check Real Time 1m13.128s 1m19.523s Time to link LLVMCore 0m0.663s 0m37.361s Tool With libLLVMCore.a (Debug Not Stripped) With LLVMCore.o (Debug Not Stripped) analyze 40483111 41160871 bugpoint 78554973 78888204 gccas 46365001 47046857 gccld 38768646 39430763 llc 73908281 74174994 lli 58942529 59216218 llvm2cpp 18296255 18957052 llvm-ar 17379187 18069803 llvm-as 17572268 18254692 llvm-bcanalyzer 16536250 17226866 llvmc 17836575 18525751 llvm-db 18756603 19382057 llvm-dis 16552034 17238554 llvm-extract 19987876 20666716 llvm-ld 38180942 38842291 llvm-link 18967373 19631178 llvm-nm 17273179 17963795 llvm-prof 17343871 18034455 llvm-ranlib 17240932 17930332 opt 71586918 72260550 Reid. * -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060531/f220b93a/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060531/f220b93a/attachment.sig>
Reid Spencer
2006-May-31 23:36 UTC
[LLVMdev] Re: Times/Sizes of LLVMCore.o vs libLLVMCore.a
Here's the patch to build LLVM with libLLVMCore.a instead of LLVMCore.o. Could someone at Apple and someone at UIUC please try this? I want to make sure that its not just my build environment that improves with the use of libLLVMCore.a Thanks, Reid. -------------- next part -------------- A non-text attachment was scrubbed... Name: libVMCore.patch Type: text/x-patch Size: 7091 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060531/40b3866d/attachment.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060531/40b3866d/attachment.sig>
Andrew Lenharth
2006-May-31 23:56 UTC
[LLVMdev] Re: Times/Sizes of LLVMCore.o vs libLLVMCore.a
On Wed, 2006-05-31 at 16:36 -0700, Reid Spencer wrote:> Here's the patch to build LLVM with libLLVMCore.a instead of LLVMCore.o. > Could someone at Apple and someone at UIUC please try this? I want to > make sure that its not just my build environment that improves with the > use of libLLVMCore.aAs you know, building on alpha already uses the .a file as the .o file doesn't link. Andrew
Apparently Analagous Threads
- [LLVMdev] Times/Sizes of LLVMCore.o vs libLLVMCore.a
- [LLVMdev] Re: Times/Sizes of LLVMCore.o vs libLLVMCore.a
- [LLVMdev] Heads Up: libLLVMCore.a and loadable modules
- [LLVMdev] Heads Up: libLLVMCore.a and loadable modules
- [LLVMdev] Heads Up: libLLVMCore.a and loadable modules