"libtool" performance... / was: Re: Announcing Dolt, a drop-in Libtool replacement which cuts build timesin half
- From: Roland Mainz <roland mainz nrubsig org>
- To: Josh Triplett <josh freedesktop org>
- Cc: kde-devel kde org, bart cs pdx edu, gnome-hackers gnome org, debian-devel lists debian org, gtk-app-devel-list gnome org, gnome-devel-list gnome org, kde-core-devel kde org, libtool gnu org, jamey minilop net, xorg lists freedesktop org, gtk-devel-list gnome org, gnome-devtools gnome org
- Subject: "libtool" performance... / was: Re: Announcing Dolt, a drop-in Libtool replacement which cuts build timesin half
- Date: Fri, 11 Apr 2008 14:15:45 -0000
Josh Triplett wrote:
>
> Many packages use GNU autotools (automake and autoconf) to build, to
> the point that "./configure && make" represents one of the most common
> build procedures for Free Software packages. Libraries using
> autotools typically use GNU Libtool, partly because it works on almost
> any system and partly because autotools makes it difficult to do
> otherwise. Packages which use these libraries sometimes use libtool
> as well.
>
> Yet for many of these libraries and other packages, more than half of
> the build time goes into running the libtool shell script.
>
> Libtool knows how to handle libraries for umpteen different systems,
> including many ancient systems that have terrible shared library
> support. It has some extensive shell script logic to figure out how
> to build libraries for your system, and how to compile objects that go
> in those libraries. This logic does an amazingly impressive job of
> coping with adverse conditions. However, this logic all lives in an
> ~8500 line, ~250kB shell script, which runs *every single time you
> compile a source file*.
>
> This does not do wonders for performance.
[snip]
Uhm... a while ago we hit the same problem and did some research on the
issue and a diffent route by switching the shell used by libtool from
"bash" to "ksh93" and did some minor modifications (e.g. enable more
ksh93 builtin commands, replace some of the "sed" usage by
builtin-string operators (which are common between "bash" and "ksh93"
but libtool didn't use them) etc. (the resulting script no longer does
unneccesary |fork()|+|exec()| calls (since ksh93 doesn't |fork()| for
subshells&co.))) ... and as a result we hit a similar performance
improvement as seen with the "dolt" tool...
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) roland mainz nrubsig org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]