summaryrefslogtreecommitdiff
path: root/timings/README.txt
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2010-08-18 01:56:12 +0000
committerSteven Knight <knight@baldmt.com>2010-08-18 01:56:12 +0000
commitfe529c1a8277e91e24861595a8f83e75b109cf83 (patch)
treef0b5d5728b0f683d97ad94b42eeb337781ae997e /timings/README.txt
parentade0c08a1d6f9946192acd8a7dd39cefe4c1295d (diff)
downloadscons-fe529c1a8277e91e24861595a8f83e75b109cf83.tar.gz
Add a timing configuration for the configuration script from
the following Electric Cloud blog entry: "How scalable is SCons? The Electric Cloud Blog" http://blog.electric-cloud.com/2010/03/08/how-scalable-is-scons/
Diffstat (limited to 'timings/README.txt')
-rw-r--r--timings/README.txt35
1 files changed, 34 insertions, 1 deletions
diff --git a/timings/README.txt b/timings/README.txt
index 443d235b..3c0baffe 100644
--- a/timings/README.txt
+++ b/timings/README.txt
@@ -5,7 +5,7 @@ This directory contains timing configurations for SCons.
Each configuration exists in a subdirectory. The controlling script
is named TimeSCons-run.py for the configuration. The TimeSCons-run.py
scripts use TestSCons.TimeSCons, a subclass of TestSCons.TestSCons (both
-defined in ../QMTest/TestScons.py), to manage execution of the timing
+defined in ../QMTest/TestSCons.py), to manage execution of the timing
runs.
Unlike the TestSCons.TestSCons base class, the TestSCons.TimeSCons
@@ -83,6 +83,39 @@ may be necessary for your configuration. They'll get copied to the
temporary directory used to run the timing.
+RUNNING YOUR TIMING CONFIGURATION
+=================================
+
+Because the TimeSCons.py module is a subclass of the whole TestSCons
+hierarchy, you use a normal runtest.py invocation to run the timings
+configuration:
+
+ $ python runtest.py timings/Configuration/TimeSCons-run.py
+
+This runs the entire timing configuration, which actually runs SCons
+itself three times:
+
+ 1) First, with the --help option, to exit immediately after
+ reading the SConscript file(s). This allows us to get a
+ rough independent measurement of how much startup cost is
+ involved in this configuration, so that the amount can be
+ discounted from the
+
+ 2) A full build.
+
+ 3) An rebuild of the full build, which is presumably up-to-date.
+
+When you execute runtest.py from the command line, the output of
+each SCons run is printed on standard output. (Note this means
+that the output can get pretty large if the timing configuration
+involves thousands of files.)
+
+The collected memory and time statistics for each run are printed
+on standard output, each with the prefix "TRACE:". These are the
+lines that the buildbot grabs to collect the timing statistics for
+the graphs available on the web site.
+
+
CALIBRATING YOUR TIMING CONFIGURATION
=====================================