Re: Performance issue of libtool-2.4.4

Peter Rosin <[email protected]>
Newsgroups gmane.comp.gnu.libtool.general
Message-ID <[email protected]>
On 2015-02-09 14:05, Richard Purdie wrote:
> On Mon, 2015-02-09 at 10:45 +0800, Robert Yang wrote:
>> On 02/06/2015 10:46 PM, Bob Friesenhahn wrote:
>>> On Fri, 6 Feb 2015, Robert Yang wrote:
>>>
>>>>
>>>>
>>>> On 02/06/2015 12:12 PM, Bob Friesenhahn wrote:
>>>>> I am not seeing quite the difference between libtool releases that you are
>>>>> although I see a big slowdown starting with 2.4.3.  These timings are for
>>>>> optimized builds of GraphicsMagick on a 12-core GNU/Linux system using -j 12:
>>>>
>>>> I think that we can't see obviously slowdown by "make -jN",
>>>> but "make -j1" will. And bash is much slower than dash, I'm trying to
>>>> figure out why.
>>>
>>> It seems like this issue is already corrected in the source tree but you are
>>
>> Yes, I think that the git repo has fixed the problem:
>>
>> commit 408cfb9c5fa8a666917167ffb806cb19deded429
>> Author: Gary V. Vaughan <[email protected]>
>> Date:   Fri Feb 6 12:58:34 2015 +0000
>>
>>      libtool: don't execute automake and autoconf on every invocation.
> 
> In an effort to get to the bottom of this I made a git bisection, timing
> the performance of building xz with make -j1 using each different
> libtool.
> 
> The issues come down to this commit:
> 
> http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=0a42997c6032b9550a009a271552e811bfbcc430
> 
> libtool: rewritten over funclib.sh instead of general.m4sh.
> 
> Before that, I get a time of about 20s, after it, 39s. If I cherry-pick
> in the fix in master mentioned above, I get 27s.
> 
> So whilst things are better (thanks!), the above change is still causing
> a regression in the performance somewhere else. Any ideas what else in
> that rather large change may be causing this?

IIRC, there was prior work to make func_compile appear as early as
possible. With this change, there are a lot of functions to parse
before getting to func_compile (and all of them are not needed that
early in the script, I think, but I have not verified that). Maybe
that can explain the difference? You could try to manually move
functions that are not needed by func_compile to appear after
func_compile and see if that makes a difference.

Cheers,
Peter


_______________________________________________
https://lists.gnu.org/mailman/listinfo/libtool
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.