Closed
Bug 87585
Opened 23 years ago
Closed 23 years ago
Improve performance of config/mkdepend/mkdepend
Categories
(SeaMonkey :: Build Config, enhancement, P5)
Tracking
(Not tracked)
RESOLVED
FIXED
Future
People
(Reporter: roland.mainz, Assigned: cls)
Details
Attachments
(1 file)
467 bytes,
patch
|
roland.mainz
:
review+
|
Details | Diff | Splinter Review |
Problem: Mozilla builds using Sun Workshop 6 are wasting a huge pile of time in config/mkdepend/mkdepend Possible workaround: What about building mkdepend with higher optimisation like "-fast", "-xcrossfile" or "-xipo" ?
I seriously doubt that those compile flags will provide *that* significant of a difference in the overall build times but I'm open to being proved wrong. I'll need some numbers before anything is done though. I'll need the times of the builds of the following configurations: default build build using mkdepend built with -fast build using mkdepend built with -xcrossfile build using mkdepend built with -xipo Add: CFLAGS += <compiler flag> to the end of config/mkdepend/Makefile.in to build with the special flag just for that directory. -
Reporter | ||
Comment 2•23 years ago
|
||
cls:
Both -xipo and -xcrossfile have a catch:
- "-xcrossfile" requires that all *.c/*.cpp source files must be given at once,
e.g. % cc x.c y.c z.c # etc...
- "-xipo" - requires that "-xipo" option is present at link time, too
(functionality of "-xipo" is more or less the same as "-xcrossfile" - but the
step "optimize all in one step" is executed at "link" time ("-xcrossfile" does
that at compile time)...).
- "-xipo" is only available in Sun Workshop 6 Update 2 and above. configure
would have to test for it... ;-(
cls wrote:
> I seriously doubt that those compile flags will provide *that* significant of
> a difference in the overall build times
Currently a full rebuild with Sun Workshop 6 Update 2 EA2 takes ~5-6 hours - and
I assume at least one hour is spend in mkdepend... ;-(
In theory the combination of "-fast -xipo" should give a _significant_
performance boost compared to a mkdepend build with no optimisation (e.g.
non-optimized debug build)... real values will follow when I fixed the other
bugs I am working on...
Reporter | ||
Comment 3•23 years ago
|
||
Test procedure: % cd cd gfx/src % gmake clean % time gmake 1. Standard mkdepend: real 10m14.434s user 9m11.420s sys 0m28.890s 2. mkdepend build with "-fast" real 5m37.372s user 4m45.930s sys 0m28.970s 3. mkdepend build with "-fast -xipo" real 5m35.284s user 4m41.130s sys 0m28.830s [3] suprises me a lot, CC:'ing richb - looks like "-xipo" does not work in this case... ;-((
Reporter | ||
Comment 4•23 years ago
|
||
1. s/cd cd/cd / 2. Based on these results - I would vote for an option (--enable-optimized-build-tools) to turn this stuff ("-fast" for WS6, "-O2" for gcc) on...
Comment 5•23 years ago
|
||
Reporter | ||
Comment 6•23 years ago
|
||
What about using "-xipo" if available (yes I know that "xipo" does not work for large C++ programs - but it should be save with smallish ones) - suggested flags would be "-xO4 -xipo" (_not_ "-fast") ? Alternatively we could use "-xcrossfile" - which is available on all Sun Workshop platforms - but it requires that all *.c files are given in one step...
Comment 7•23 years ago
|
||
Didn't you just say that "-xipo" *didn't* work for this case? According to the cc manpage, -fast gives -xO5 level optimization unless some other -x0y flag is given so given the other issues with -xpio (link checks & not supported in previous Forte releases), I think -fast is the way to go.
Reporter | ||
Comment 8•23 years ago
|
||
> Didn't you just say that "-xipo" *didn't* work for this case? For some reason the performance gain in the EarlyAccess version oif WS6U2 was _low_ - which does not mean it is not usefull in later releases... :-) > According to the > cc manpage, -fast gives -xO5 level optimization unless some other -x0y flag > is given so given the other issues with -xpio (link checks & not supported > in previous Forte releases), I think -fast is the way to go. OK... but "-fast" can be "tricky" as it may "overoptimize" things - or simply compile it wrong. For example, mozilla build with --enable-optimize="-xO4" works perfectly, but --enable-optimize="-xO5" just crashes. Question is whether such a smallish tool like mkdepend will trigger one of the issues around "-fast" or not. We can try it... :-) If "-fast" does not work we can try "-fast -xO4" or "-xO4" ...
Reporter | ||
Comment 9•23 years ago
|
||
Comment on attachment 58463 [details] [diff] [review] Set default optimize flag to -fast for mkdepend on SunOS r=roland.mainz@informatik.med.uni-giessen.de
Attachment #58463 -
Flags: review+
Comment 10•23 years ago
|
||
Patch has been checked in.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Updated•20 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•