libtool-patches
[Top][All Lists]
Advanced

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

Re: speedup bootstrap


From: Gary V. Vaughan
Subject: Re: speedup bootstrap
Date: Mon, 24 Oct 2005 09:32:52 +0100
User-agent: Mozilla Thunderbird 1.0 (X11/20050305)

Hallo Ralf,

Peter O'Gorman wrote:
Ralf Wildenhues wrote:
| While working on the outstanding patch queue, I finally got fed up
| enough with CVS HEAD bootstrap and all the pizzas I had to eat each
| time, that it needed to be fixed.  ;-)
|
| m4 tail recursion sucks performance-wise, if the argument lists are
| long, because: even if shift/m4_shiftn is fast(?), the whole stuff needs
| to be copied anyway for the new macro call.
|
| Just to make clear just how much of an issue this is: the code recurses
| as much as 600 C function calls deep (as seen by randomly interrupting
| m4 in a debugger; I haven't attempted to find the true maximum).
|
| So, let's do in some manual tail recursion elimination.

Wow!  Great work :-D

| OK to apply the combined patch below?
|

You know, I looked at sppeding up bootstrap for myself about a year ago, but
couldn't figure out the cause.

This is okay, even thouh I don't actually understand it :)

No, not okay!

I haven't tested the code yet, but I do remember that the areas you are
touching are exceedingly delicate.  And even though on a cursory look,
your patch looks sane, this is something to apply after 2.0!

On the other hand, thankyou very much for taking the time to fix this
problem!  I'm going to add your patch to my quilt series and enjoy the
speedup until 2.0 is done.  It'll also mean that I'll have been able to
give it a good workout before approving.

Cheers,
        Gary.
--
Gary V. Vaughan      ())_.  address@hidden,gnu.org}
Research Scientist   ( '/   http://tkd.kicks-ass.net
GNU Hacker           / )=   http://www.gnu.org/software/libtool
Technical Author   `(_~)_   http://sources.redhat.com/autobook

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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