libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

libtool performance and shells


From: Bob Friesenhahn
Subject: libtool performance and shells
Date: Mon, 14 Apr 2008 17:24:07 -0500 (CDT)

Since it has been claimed that libtool causes a lot of build overhead, I have been doing a *lot* of testing here with latest development libtool. We already know that libtool 1.5.X is very slow so it is not worth worrying about that and it is more worthwhile to get projects migrated to libtool 2.2.X since it is much faster.

Peter O'Gorman came up with a simple useless code parsing benchmark which showed that GNU bash could be the Worlds Slowest Shell (TM) except for a Korn shell clone called 'pdksh' which never completed at all. Other tests also pointed out that bash seemed to be a bit sluggish. DTrace shows that bash spends an awful lot of time in memset() as compared with the other shells.

Simple shell benchmarks seemed to indicate that shells derived from the Almquist shell (http://en.wikipedia.org/wiki/Almquist_Shell) were the fastest and smallest. Ksh93 was almost as quick. Bash was slowest at simple contrived benchmarks.

However, there is an old saying "The proof is in the pudding". I have run overall timings of configure and full builds using various shells on different systems and found that on average, bash was not significantly slower at running the configure script. I also found that bash was not significantly slower for an overall libtool-based build. Bash is never the fastest, but when it is slower there is not a significant impact to overall build time.

There are some systems where there is some benefit to using a shell other than bash, but the difference does not seem large enough for Autoconf and libtool to be concerned enough to use a different shell selection algorithm.

Bob
======================================
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]