[LLVMdev] Times/Sizes of LLVMCore.o vs libLLVMCore.a

Reid Spencer
2006-05-31T23:28:01Z

(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>