<div dir="ltr">OK. I've tried using shared libraries for everything except LLVMX86.o, and the build time improvement isn't as good as I hoped for. On a Dell Precision 390 workstation, the time to rebuild after a one line change in a library is 10 s for static linking and 7.3 s for dynamic linking (building in Eclipse is slower).<br>
<br>One advantage of static linking I haven't thought about is that only the needed functions need to be loaded, unlike everything for dynamic libraries. The space saving is huge though: 1350MiB vs 723MiB and the IO load is probably greatly reduced.<br>
<br>I've added a hackish script that patches LLVM 2.3 to use dynamic libraries if anyone wants it. Just run it after configuring.<br><br><div class="gmail_quote">On Tue, Oct 7, 2008 at 10:50 AM, Gordon Henriksen <span dir="ltr"><<a href="mailto:gordonhenriksen@me.com">gordonhenriksen@me.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">On Oct 6, 2008, at 15:52, Yale Zhang wrote:<br>
<br>
> Hi everyone. I'm mainly build the debug versions of lli and opt<br>
> which are huge and take up to 10 seconds to build. It seems there is<br>
> no option in configure to allow dynamic linking. Before I try to add<br>
> it myself, is there a reason why it's not done?<br>
<br>
</div>In addition to the APIs being insufficiently stable for shared<br>
libraries to be of much use per se, it invoked pathologically bad<br>
performance in some dynamic link editors--startup times greatly<br>
exceeding your link times.<br>
<br>
— Gordon<br>
<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br></div>