This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: glibc build process slowness


On Wed, 2007-02-21 at 20:15 +0000, Mark Seaborn wrote:

> I profiled make.  It's spending around 60% of the time in
> new_pattern_rule(), which does a linear search through the list of
> pattern rules to check for duplicate rules.  glibc generates ~2500
> rules (in sysd-rules).

Holy moly!  How in the world do you get that many pattern rules?!?!  The
point of pattern rules is that they represent an entire class of
targets, which means you typically would have orders of magnitude fewer
pattern rules than you have targets.

I don't have anything against making this more efficient, I'm just...
surprised.

> I was considering refactoring this properly, but the current
> new_pattern_rule() doesn't look quite right.  The comment says it
> looks for an identical rule.  The actual test is
> 
>   the old rule has 1 target (or multiple identical targets)
>   and
>   there exists a target in the new rule the same as the old rule's target

I agree that this doesn't seem correct.

I got your set of patches, and I'll take a look.  Thanks!

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <psmith@gnu.org>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]