* Ralf Wildenhues wrote on Sun, Apr 13, 2008 at 10:26:11PM CEST:
> * Richard Purdie wrote on Sun, Apr 13, 2008 at 08:53:10PM CEST:
> >
> > tag.patch - The tag errors were breaking things for no good reason so we
> > turned the error into a warning
> 
> Well, don't come crying for bad performance to us if you do things like
> this.  Letting libtool infer the tag is rather expensive, at least
> relatively, for 2.2.2 on modern systems where there are few other forks
> needed.

I guess I should substantiate this claim.  Taking a libtool script of
current CVS HEAD, plus one approved but not applied patch, configuring
it for CC=gcc, where gcc is a symlink to gcc-4.3.  Then, adding your
patch (so that libtool doesn't error out on the following); then running
  ./libtool --mode=compile gcc-4.3 -c a.c

100 times on an empty file a.c takes:
4.24user 1.60system 0:05.91elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+2400outputs (0major+745403minor)pagefaults 0swaps

whereas doing the same with a tag given:
  ./libtool --tag=CC --mode=compile gcc-4.3 -c a.c

takes:
1.99user 0.82system 0:02.87elapsed 97%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+2400outputs (0major+316064minor)pagefaults 0swaps

Of course, this is an extreme case, as the source file is empty, and the
libtool script generated by the Libtool package supports several tags
(it will try them all).

So don't do this, please.  Supply --tag=CC if your compiler name doesn't
match.

Cheers,
Ralf


_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to