This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: glibc build process slowness
- From: Paul Smith <psmith at gnu dot org>
- To: Mark Seaborn <mrs at mythic-beasts dot com>
- Cc: bug-make at gnu dot org, libc-alpha at sourceware dot org
- Date: Sun, 25 Feb 2007 21:18:27 -0500
- Subject: Re: glibc build process slowness
- References: <20070221.201520.719899677.mrs@localhost.localdomain>
- Reply-to: psmith at gnu dot org
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