Closed Bug 285627 Opened 20 years ago Closed 20 years ago

mddepend.pl is inefficient

Categories

(Firefox Build System :: General, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: neil, Assigned: neil)

Details

(Keywords: perf)

Attachments

(1 file)

I noticed that a Windows build that I spun up was taking hours to build tier_9
on a PIII 1133Mhz. Further investigation showed that it was spending most of its
time running mddepend.pl. My RH7.3 .deps/<olj>.pp files have the format
<obj>: header header \
  header ...
while the ones on my Windows build have the format
<obj>: header
<obj>: header
...
The latter format makes mddpend.pl stat <obj> once fot every header file, even
though the <obj> has been shown to be out of date.
Attached patch The fixSplinter Review
* Changes <STDIN> to <> to avoid an unnecessary invocation of cat
* Changes @alldeps to a hash so multiple obj: lines can be merged
* Write .all.pp in textmode because that's how we read it earlier
Assignee: chase → neil.parkwaycc.co.uk
Status: NEW → ASSIGNED
Attachment #177045 - Flags: review?(benjamin)
Sadly I only have a low resolution timer handy but in parser/htmlparser/src it
took over 10 minutes to run mddepend before the patch and less than 1 after.
Comment on attachment 177045 [details] [diff] [review]
The fix

Beautiful.
Attachment #177045 - Flags: review?(benjamin) → review+
Fix checked in.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: