Difference between revisions of "Profile the build system"
(→Project Data) |
(→Project Data) |
||
Line 62: | Line 62: | ||
| Vista Business | | Vista Business | ||
| [[User:Pplam3|Patrick]] | | [[User:Pplam3|Patrick]] | ||
+ | | <pre>mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-@CONFIG_GUESS@ | ||
+ | ac_add_options --enable-application=browser | ||
+ | mk_add_options MOZ_CO_PROJECT=browser | ||
+ | mk_add_options MOZ_MAKE_FLAGS=-j5 | ||
+ | </pre> | ||
|- | |- | ||
| 0:59:00 | | 0:59:00 | ||
Line 71: | Line 76: | ||
| Vista Business | | Vista Business | ||
| [[User:Pplam3|Patrick]] | | [[User:Pplam3|Patrick]] | ||
+ | | <pre>mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-@CONFIG_GUESS@ | ||
+ | ac_add_options --enable-application=browser | ||
+ | mk_add_options MOZ_CO_PROJECT=browser | ||
+ | mk_add_options MOZ_MAKE_FLAGS=-j4 | ||
+ | </pre> | ||
|- | |- | ||
| 1:15:25 | | 1:15:25 | ||
Line 80: | Line 90: | ||
| Vista Business | | Vista Business | ||
| [[User:Pplam3|Patrick]] | | [[User:Pplam3|Patrick]] | ||
+ | | <pre>mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-@CONFIG_GUESS@ | ||
+ | ac_add_options --enable-application=browser | ||
+ | mk_add_options MOZ_CO_PROJECT=browser | ||
+ | </pre> | ||
|- | |- | ||
| 1:03:00 | | 1:03:00 |
Revision as of 01:42, 19 September 2008
Contents
Name of Project
Profile the build system
Description
It's a well known fact that it takes longer to build on Windows than on a comparable Linux or Mac machine. We don't know exactly why, however. There have been many theories, but no real data. Profiling the build system would allow us to figure out where all of the time is being spent. The best place to start might be by adding some profiling to GNU Make, to figure out which targets in our makefiles take the most time. From there, depending on the results, profiling could be added to other parts of the build system to narrow down specific bottlenecks.
References:
- http://wiki.services.openoffice.org/wiki/BuildSpeedup - OpenOffice.org did something similar
Resources: ted
Leader(s)
Project Contributor(s)
Project Details
- Collect Data
- Get build time info from others
- Build From Scratch, Rebuild with no changes, using/not using -j4 option, hardware info (RAM, CPU, RPM)
- Get build time info from others
- The -j4 option is used in the .mozconfig file
- -j specifies how many concurrent jobs you can run, so for some parts of the tree you get more makes going at once
- mk_add_options MOZ_MAKE_FLAGS=-j4
Project Data
- Please feel free to fill in the table to help me collect more data
- YOU WILL BE CONSIDER A PROJECT CONTRIBUTOR FOR PROVIDING DATA
- you can time your build by adding the "time" command in front of your build command like so:
- time make -f client.mk build
Build From Scratch
HH:MM:SS |
Rebuilt No Changes
HH:MM:SS |
with -j# | RAM (GB) | CPU (GHz) | HD (rpm) | OS | User | Mozconfig |
0:55:05 | 0:20:17 | 5 | 4 GB | 2.0 Duo | 7200 | Vista Business | Patrick | mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-@CONFIG_GUESS@ ac_add_options --enable-application=browser mk_add_options MOZ_CO_PROJECT=browser mk_add_options MOZ_MAKE_FLAGS=-j5 |
0:59:00 | 0:21:00 | 4 | 4 GB | 2.0 Duo | 7200 | Vista Business | Patrick | mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-@CONFIG_GUESS@ ac_add_options --enable-application=browser mk_add_options MOZ_CO_PROJECT=browser mk_add_options MOZ_MAKE_FLAGS=-j4 |
1:15:25 | 0:21:22 | N/A | 4 GB | 2.0 Duo | 7200 | Vista Business | Patrick | mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-@CONFIG_GUESS@ ac_add_options --enable-application=browser mk_add_options MOZ_CO_PROJECT=browser |
1:03:00 | N/A | 1 GB | 1.6 Duo | XP Media | Tony | |||
0:50:00 | N/A | 2.5 GB | 1.6 AMD TurionX2 | XP Professional | Zaid | |||
1:17:44 | - | 2 | 1.5 GB | 1.8 AMD Mobile Sempron | 5400 | Vista Business (32-bit) | Nino | |
0:24:15 | 0:01:07 | N/A | 2 GB | 2.66 Duo | 7200 | Ubuntu 8.04 (64-bit) | Jason | |
0:15:12 | 0:01:04 | 4 | 2 GB | 2.66 Duo | 7200 | Ubuntu 8.04 (64-bit) | Jason | |
0:43:14 | - | - | 2 GB | 1.80 AMD Mobile Sempron | 5400 | Ubuntu 8.04 (32-bit) | Aaron T | |
real 0:29:13 user 0:11:26 sys 0:03:47 |
real 0:05:8 user 0:04:47 sys 0:01:43 |
5 | 1 GB | 2.0 Duo ( OC'd to 2.41 ) | 7200 | Windows XP Professional ( 32-bit) | Chris Bishop | . $topsrcdir/browser/config/mozconfig mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt mk_add_options MOZ_MAKE_FLAGS=-j5 ac_add_options --disable-tests |
Project News / Updates
09/18/2008 -
- Use time command to time build time
- ie. time make -f client.mk build
- Start collecting data
09/17/2008 -
- Built the first time in 1h 20m
- Rebuilt second time in 35m with all apps off
- Talked with Shaver and directed me to thread on shrinking build time
- Thread talked about /MP command for building in VS -> not useful in my case
- Dave's suggestion
- Understand what each part of the build is taking
- Collect win32 build times from colleagues
09/16/2008 -
- Talked with Ted Mielczarek, briefly discussed about where to start and how to approach this project.
- Start by timing how long each make file is
- Identify which make file takes a long time
09/15/2008 -
- Created Project page for this project.