While this analysis is interesting, it doesn't measure the impact of the
unified builds project directly, so I decided that now that a good chunk
of code is being compiled in unified mode we should get some specific
numbers on the improvements.
What I did was I took inbound as of ab70db6b27c8, and did a clobber
build twice. The first time I manually converted all UNIFIED_SOURCES
variables to SOURCES using [1], and the second time I reverted that
change to build a pristine inbound. Both builds were done with a warm
cache of all of the source tree (I manually put everything into the
cache before each build.)
And here are the results:
Before:
22:12.74 Overall system resources - Wall time: 1332s; CPU: 92%; Read
bytes: 50761728; Write bytes: 7229292544; Read time: 39540; Write time:
5736192
real 22m13.648s
user 69m52.462s
sys 5m57.270s
After:
16:07.89 Overall system resources - Wall time: 967s; CPU: 89%; Read
bytes: 10317824; Write bytes: 6860136448; Read time: 12604; Write time:
4981152
real 16m8.469s
user 47m39.219s
sys 4m1.699s
This means that unified builds so far have made our builds around 27%
faster in terms of wall clock, and around 32% faster in terms of CPU time.
These measurements were done on Linux on a 4-core machine.
Last but not least, thanks to everybody who is helping with this project!
Cheers,
Ehsan
[1] $ find . -name moz.build | xargs grep -w UNIFIED_SOURCES | awk -F:
'{print $1}' | sort | uniq | xargs sed -i 's/UNIFIED_SOURCES/SOURCES/'
On 2013-11-19 2:15 AM, Gregory Szorc wrote:
Do builds feel like they've gotten faster in the last few weeks^hours?
It's because they have.
When I did my MacBook Pro comparison [1] with a changeset from Oct 28,
build times on my 2013 2.6 GHz MacBook Pro were as follows:
Wall 11:13 (673)
User 69:55 (4195)
Sys 6:04 (364)
Total 75:59 (4559)
I just built the tip of m-c (e4b59fdbc9c2) and times on that same
machine are now:
Wall 9:23 (563)
User 57:38 (3458)
Sys 4:58 (298)
Total 62:36 (3756)
That's a 17.6% drop in CPU time required to build the tree! If the build
system were able to deliver 100% CPU utilization, my machine would be
able to build the tree in ~7:50 wall time. Not too shabby!
I can say with high confidence that unified sources are mostly
responsible for the CPU efficiency gains. When I built m-c earlier today
just after Australis landed, total CPU time was at 66:28. In between, 5
unified sources bugs landed and ~4 minutes total CPU time was shaved off.
Project unified sources: making builds insanely faster since yesterday.
I can't wait to see what tomorrow brings.
[1]
http://gregoryszorc.com/blog/2013/11/05/macbook-pro-firefox-build-times-comparison/
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform