[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: glibc build process slowness
From: |
Paul Smith |
Subject: |
Re: glibc build process slowness |
Date: |
Sun, 25 Feb 2007 21:18:27 -0500 |
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 <address@hidden> 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
- glibc build process slowness, Mark Seaborn, 2007/02/21
- Re: glibc build process slowness, Roland McGrath, 2007/02/21
- [PATCH 0/5] Improve performance of rule handling, Mark Seaborn, 2007/02/25
- [PATCH 3/5] Refactor: Use a doubly-linked list of rules instead of a singly-linked list, Mark Seaborn, 2007/02/25
- [PATCH 1/5] Refactor: Move rule comparisons into separate functions, Mark Seaborn, 2007/02/25
- [PATCH 2/5] Clean up count_implicit_rule_limits(), Mark Seaborn, 2007/02/25
- [PATCH 4/5] Record rule targets in a hash table, Mark Seaborn, 2007/02/25
- [PATCH 5/5] Hook up hash table: use for searching for rules to replace, Mark Seaborn, 2007/02/25
- Re: glibc build process slowness,
Paul Smith <=