libtool
[Top][All Lists]
Advanced

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

don't let libtool infer the tag (was: sysroot support in libtool)


From: Ralf Wildenhues
Subject: don't let libtool infer the tag (was: sysroot support in libtool)
Date: Sun, 13 Apr 2008 22:53:44 +0200
User-agent: Mutt/1.5.17+20080114 (2008-01-14)

* 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




reply via email to

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