Re: [rth@redhat.com: libjava build times]

2005-05-06 Thread Bob Friesenhahn
On Thu, 5 May 2005, Ralf Wildenhues wrote:

Libtool has been around since 1996 but its implementation is still
fundamentally broken.
Which part is _fundamentally_ broken?  Being a shell script it can be
slow, yes, and quoting is a pain, but you get that with `make',
`autoconf' or `automake' as well, in slightly different settings.
I did not mean to offend ... by fundamentally broken I mean that it 
is impossible for a shell script to reach the performance levels of 
compiled code.  There is a philosophical issue which is currently 
forcing libtool into this model.  Libtool is doing things that it 
doesn't need to do.  There are perceived requirements which are not 
actual requirements.

Interposing libtool beween 'make' and the compiler/linker shouldn't 
consume more than 1% of the time or so.  On some systems (e.g. 
Microsoft Windows) it seems to consume 80-90% of the build time.

I get your repeated point about ltmain.c.  But let me tell you
something about programming efficiency: if we can manage to put
something like libtool-cache (but not broken) into libtool, let's
say in roughly 30 hours work including testing, then I think that is
reasonable.  If you tell us that you can spend 300 hours
implementing ltmain.c within the next few months, then I'll be happy
that you found a sponsor and the time for doing this work.  _And_
I'd still be amazed at your programming and testing speed.
I didn't claim it was easy, however, a thousand mile journey starts 
with a single step.  At the moment, there is not even the start of a 
plan.

By making the libtool binary a tool that you install in advance 
(similar to 'make') a huge amount of the effort can be relieved. 
Each package would then only need to provide a small bit of 
configuration information.  Each package would configure and build 
much faster.  Some small packages would be much smaller due to 
elimination of most of the configure script.  It is not uncommon for 
most of the configure script run time to be consumed with 
libtool-related processing.

We already assume that the user has been able to procure/install make, 
a C compiler, and many other tools.  It doesn't seem like a big deal 
for packages to require that libtool be installed.

Bob
==
Bob Friesenhahn
[EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
___
Bug-libtool mailing list
Bug-libtool@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-libtool


Re: [rth@redhat.com: libjava build times]

2005-05-05 Thread Peter O'Gorman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Ralf Wildenhues wrote:
| I'm pretty sure I can get it quite a bit faster even.  The patches need
| cleanup so that they use allowed file names and work properly in corner
| cases as well, but those don't scale with the number of objects, so they
| matter less.
| +   $ECHO $oldobjs | $SP2NL | $SED -n -e '/./p' _objs
Ralf, you really rock!
I do worry about this echo though. How big is $oldobjs? Will we exceed the
max_cmd_len if echo is an external program?
Peter
- --
Peter O'Gorman - http://www.pogma.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (Darwin)
iQCVAwUBQnoN67iDAg3OZTLPAQKGAgP/dqzSt23v4QA/90LDmCrIoGdSpHsLilj/
ffrjmDHEVhRwHySb1YCnO7YsXwvGnXyKfNAxCHB3GsD1LQjIIkrVtX3gx/Vr7y1W
gJ03CggYBpNn8ft4DVPFcigduJ4aTHne8+ND0oBPVLpiYrO7UFJcNlzHGVnLaTLG
zctQUdZrgac=
=5dvv
-END PGP SIGNATURE-
___
Bug-libtool mailing list
Bug-libtool@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-libtool


Re: [rth@redhat.com: libjava build times]

2005-05-04 Thread Ralf Wildenhues
Hi Joe, others,

* Joe Buck wrote on Mon, May 02, 2005 at 08:01:49PM CEST:

 We really need something done about this problem, as it interferes
 with our ability to efficiently develop GCC.

How many objects does libjava contain?  Rather 100 or 1000?  Do you
need relinking because of command line length?

 From: Richard Henderson [EMAIL PROTECTED]
*snip*
 
 I began by building the whole of libjava, and then using find to 
 delete all of *.o *.lo *.a *.la.  I then timed rebuilding the library:
*snip*
 
 Now, unless I've done something drastically wrong, it appears as if we
 are spending 2/3 of our time in the libtool script.

I know.  I worked on that for Libtool HEAD and fixed it mostly (that is,
for all decent platforms, not win32), for the case of many objects.
Fixing win32 will require incorporation of something like Robert Ă–gren's
libtool-cache.  It's my plan to do this (in the HEAD branch) after other
pending work has settled.

You could use libtool-cache as a temporary workaround.  It's not
foolproof, but for development that should be ok -- not for release.
Using libtool HEAD should also work, but integration of that into gcc
will require some work.  You could help by convincing the other
maintainers to allow me to backport my changes from HEAD to branch-2-0
(after Libtool-2.0.0 is out), or help with integration of a fool-proof
libtool-cache like caching mechanism.

Regards,
Ralf


___
Bug-libtool mailing list
Bug-libtool@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-libtool