summaryrefslogtreecommitdiffstats
path: root/HACKING
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2011-12-29 19:57:02 (GMT)
committerEvan Martin <martine@danga.com>2011-12-29 19:57:02 (GMT)
commiteaf1ff190423b1cf41eb1b905192be07aeb6b22e (patch)
tree81cf0c13c93fbddfc8129c10043096e738e74001 /HACKING
parent9cf5918cc59dd5d431a4b4cc68aaf71b74efdc1d (diff)
downloadNinja-eaf1ff190423b1cf41eb1b905192be07aeb6b22e.zip
Ninja-eaf1ff190423b1cf41eb1b905192be07aeb6b22e.tar.gz
Ninja-eaf1ff190423b1cf41eb1b905192be07aeb6b22e.tar.bz2
add script for measuring build performance
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING10
1 files changed, 6 insertions, 4 deletions
diff --git a/HACKING b/HACKING
index 92cdf68..786524f 100644
--- a/HACKING
+++ b/HACKING
@@ -13,10 +13,12 @@ Testing performance impact of changes:
If you have a Chrome build handy, it's a good test case.
Otherwise, https://github.com/martine/ninja/downloads has a copy of
the Chrome build files (and depfiles). You can untar that, then run
- "ninja chrome". I often do something like:
- (for i in `seq 5`; do time -p ninja chrome) 2>&1 | grep real > old
- (for i in `seq 5`; do time -p ninja-new chrome) 2>&1 | grep real > new
- and then compare those two lists of timings either by eye or with R.
+ path/to/my/ninja chrome
+ and compare that against a baseline Ninja.
+
+ There's a script at misc/measure.py that repeatedly runs a command like
+ the above (to address variance) and summarizes its runtime. E.g.
+ path/to/misc/measure.py path/to/my/ninja chrome
For changing the depfile parser, you can also build 'parser_perftest'
and run that directly on some representative input files.