Changes

Jump to: navigation, search

Profile the build system

1,368 bytes added, 14:26, 11 November 2008
m
November 2008
== Releases ==
=== Release 0.1 - Oct 13 ===
'''==== Goal'''====
* Try out different build options
** See how they affect built
** Time how long it takes on each file/directory during the build
'''==== Results for Rebuilds'''with No Changes====
* Looking at the breakdown of the time, it can be seen that dom, browser, content, toolkit, netwerk, and xpcom take up a large portion of the build time
* The remaining 39.3% of the build time is divided into layout, intl, embedding and other 23 different directories
 ===== Charts =====
''Data from 10 Rebuilds were used to create the following charts:''
[[Image:TimeChartAll.jpg]]
===== Data =====
{| class="mediawiki sortable" border="1" cellpadding="5" cellspacing="0"
|+ Rebuild Profile Data
=== Release 0.2 - Nov 10 ===
==== Goal ====* TBACapture the processes being spawned during build along with its pid, ppid, time, duration, and working directory* Try identifying the cause for slow Windows build
=== Release 0.3 - Dec 1 ===
== Project Data ==
=== Contribution Instructions ===
* Ideas on how to log the following during build time: pid, ppid, start time, end time, process name, current working directory* <strike>Please feel free to fill in the table to help me collect more data</strike>* <strike>YOU WILL BE CONSIDERED AS A PROJECT CONTRIBUTOR FOR PROVIDING DATA</strike>
* you can time your build by adding the "time" command in front of your build command like so:
** time make -f client.mk build
=== Sample Build Data ===
== Project News / Updates ==
=== November 2008 ===
<i>11/11/2008 -</i>
* Managed to get process duration
<i>11/06/2008 -</i>
* Captured processes from a "do-nothing rebuild"
* Posted description of CSV log on [[https://bugzilla.mozilla.org/show_bug.cgi?id=459891 Bugzilla]]
* Trying to get more accurate data for Benjamin
<i>11/05/2008 -</i>
* Found a similar app to [[http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx Process Explorer]] called [[http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx Process Monitor]]
** Captures: pid, ppid, start time, end time, process name
** Can build log file
* Posted finding on [[https://bugzilla.mozilla.org/show_bug.cgi?id=459891 Bugzilla]]
* Asking for further directions/hints for project
<i>11/04/2008 -</i>
* Played with [[http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx Process Explorer]]
** Captured: pid, ppid, start time, end time, process name
** Finding ways to log it
 
=== October 2008 ===
<i>10/20/2008 -</i>
* Redo Pie Chart
** Used all 10 Rebuild Data
* Changed the app to generate better extractions from logs
<i>10/17/2008 -</i>
* Finished making app to extract times from log
** App breaks down log into 3 files
* Adding times up for amount spent in each level 1 directory
* Created diagram to illustrate time breakdown
<i>10/15/2008 -</i>
* Creating app to extract time from log
* Timing the build multiple times for both scratch and rebuilds (aiming for 10 builds each)
<i>10/13/2008 -</i>
* Timed time spent in each directory
* Working on extracting the data from log
<i>10/02/2008 -</i>
* Talked with Ted, guided me to look into rules.mk
* Continuing testing for timing the build
=== September 2008 ===
<i>09/30/2008 -</i>
* Looked through many files and still haven't found where code for timing can go
* Suspect most options don't affect build speed, except -j and optimize
<i>09/25/2008 -</i>
* After couple more testing with the build options, starting to notice they don't make a big difference
<i>09/18/2008 -</i>
* Use time command to time build time
** ie. time make -f client.mk build
* Start collecting data
<i>09/17/2008 -</i>
* Built the first time in 1h 20m
* Rebuilt second time in 35m with all apps off
** Understand what each part of the build is taking
** Collect win32 build times from colleagues
<i>09/16/2008 -</i>
* 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
<i>09/15/2008 -</i>
* Created Project page for this project.
----
1
edit

Navigation menu