<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.3.2">
</HEAD>
<BODY>
(Sorry, previous post got sent by accident. This is the real one)<BR>
<BR>
Folks,<BR>
<BR>
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. <BR>
<BR>
<I><B>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.</B></I><BR>
<BR>
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.<BR>
<BR>
<TABLE BGCOLOR="#ffff9c" BORDER="1">
<TR>
<TD>
Time
</TD>
<TD>
With libLLVMCore.a
</TD>
<TD>
With LLVMCore.o
</TD>
</TR>
<TR>
<TD>
Link Real Time (-j 1)
</TD>
<TD>
2m12.592s
</TD>
<TD>
3m51.750s
</TD>
</TR>
<TR>
<TD>
Link Real Time (-j 3)
</TD>
<TD>
1m49.682s
</TD>
<TD>
2m51.257s
</TD>
</TR>
<TR>
<TD>
Link User Time (-j 1)
</TD>
<TD>
1m40.764s
</TD>
<TD>
3m16.352s
</TD>
</TR>
<TR>
<TD>
Link User Time (-j 3)
</TD>
<TD>
<B>2m19.972s</B>
</TD>
<TD>
<B>6m42.644s</B>
</TD>
</TR>
<TR>
<TD>
Link System Time (-j1)
</TD>
<TD>
0m15.632s
</TD>
<TD>
0m17.127s
</TD>
</TR>
<TR>
<TD>
Link System Time (-j 1)
</TD>
<TD>
0m20.065s
</TD>
<TD>
0m31.693s
</TD>
</TR>
<TR>
<TD>
make check Real Time
</TD>
<TD>
1m13.128s
</TD>
<TD>
1m19.523s
</TD>
</TR>
<TR>
<TD>
Time to link LLVMCore
</TD>
<TD>
<B>0m0.663s</B><BR>
<BR>
</TD>
<TD>
<B>0m37.361s</B>
</TD>
</TR>
</TABLE>
<BR>
<BR>
<TABLE BGCOLOR="#ffff9c" BORDER="1">
<TR>
<TD>
<B>Tool</B>
</TD>
<TD>
<B>With libLLVMCore.a (Debug Not Stripped)</B>
</TD>
<TD>
<B>With LLVMCore.o (Debug Not Stripped)</B>
</TD>
</TR>
<TR>
<TD>
analyze
</TD>
<TD>
40483111
</TD>
<TD>
41160871
</TD>
</TR>
<TR>
<TD>
bugpoint
</TD>
<TD>
78554973
</TD>
<TD>
78888204
</TD>
</TR>
<TR>
<TD>
gccas
</TD>
<TD>
46365001
</TD>
<TD>
47046857
</TD>
</TR>
<TR>
<TD>
gccld
</TD>
<TD>
38768646
</TD>
<TD>
39430763
</TD>
</TR>
<TR>
<TD>
llc
</TD>
<TD>
73908281
</TD>
<TD>
74174994
</TD>
</TR>
<TR>
<TD>
lli
</TD>
<TD>
58942529
</TD>
<TD>
59216218
</TD>
</TR>
<TR>
<TD>
llvm2cpp
</TD>
<TD>
18296255
</TD>
<TD>
18957052
</TD>
</TR>
<TR>
<TD>
llvm-ar
</TD>
<TD>
17379187
</TD>
<TD>
18069803
</TD>
</TR>
<TR>
<TD>
llvm-as
</TD>
<TD>
17572268
</TD>
<TD>
18254692
</TD>
</TR>
<TR>
<TD>
llvm-bcanalyzer
</TD>
<TD>
16536250
</TD>
<TD>
17226866
</TD>
</TR>
<TR>
<TD>
llvmc
</TD>
<TD>
17836575
</TD>
<TD>
18525751
</TD>
</TR>
<TR>
<TD>
llvm-db
</TD>
<TD>
18756603
</TD>
<TD>
19382057
</TD>
</TR>
<TR>
<TD>
llvm-dis
</TD>
<TD>
16552034
</TD>
<TD>
<PRE>
17238554
</PRE>
</TD>
</TR>
<TR>
<TD>
llvm-extract
</TD>
<TD>
19987876
</TD>
<TD>
20666716
</TD>
</TR>
<TR>
<TD>
llvm-ld
</TD>
<TD>
38180942
</TD>
<TD>
38842291
</TD>
</TR>
<TR>
<TD>
llvm-link
</TD>
<TD>
18967373
</TD>
<TD>
19631178
</TD>
</TR>
<TR>
<TD>
llvm-nm
</TD>
<TD>
17273179
</TD>
<TD>
17963795
</TD>
</TR>
<TR>
<TD>
llvm-prof
</TD>
<TD>
17343871
</TD>
<TD>
18034455
</TD>
</TR>
<TR>
<TD>
llvm-ranlib
</TD>
<TD>
17240932
</TD>
<TD>
17930332
</TD>
</TR>
<TR>
<TD>
opt
</TD>
<TD>
71586918
</TD>
<TD>
72260550
</TD>
</TR>
</TABLE>
<BR>
Reid.
<UL>
    <LI>
</UL>
</BODY>
</HTML>