Subject: Re: proposal: libcc1 -> static
To: David Brownlee <abs@anim.dreamworks.com>
From: Todd Vierling <tv@pobox.com>
List: tech-toolchain
Date: 01/03/1999 20:12:33
On Sun, 3 Jan 1999, David Brownlee wrote:
: Wasn't one of the ideas behind going to libcc1.so to share memory
: between different passes of the compiler to make using pipes
: feasible. (The whole point being to speed up compiling).
Demand paged VM == for the same language, you get this benefit anyway.
Remember that binaries' text pages are shared, even between different
invocations, as well as unmodified data pages. A shared object actually
slows down each invocation because of all the reloc fixups. Christoph
drilled this reminder into me. :>
It's only when you heavily mix languages that you get a speedup with the
shared object, and then, it's not much of a speedup.
: The disk space savings have to be pretty small - we currently link
: four binaries {cc1,cc1obj,cc1plus,f771} against libcc1 (which is
: around 1.4MB on an i386 system). I don't know how much of the
: library is used by each binary.
100% by cc1 and cc1obj; about 40% by cc1plus and 30% by f771.
: Maybe someone interested enough in this could time their compiles
: (static/dynamic normal/-pipe) and let the list know what the
: relevant time/diskspace tradeoffs are?
I'm working on doing such for i386 and sparc.
--
-- Todd Vierling (Personal tv@pobox.com; Bus. todd_vierling@xn.xerox.com)