Mercurial > hg
comparison tests/test-contrib-perf.t @ 27470:d394a1a3708a
perf: add perfrevlogrevision
As part of investigating performance improvements to revlog reading,
I needed a mechanism to measure every part of revlog reading so I knew
where time was spent and how effective optimizations were.
This patch implements a perf command for benchmarking the various
stages of reading a single revlog revision.
When executed against a manifest revision at the end of a 30,000+
long delta chain in mozilla-central, the command demonstrates that
~80% of time is spent in zlib decompression.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 20 Dec 2015 18:38:21 -0800 |
parents | be48b7559422 |
children | ac549d7fbc2b |
comparison
equal
deleted
inserted
replaced
27469:8914296e74a2 | 27470:d394a1a3708a |
---|---|
89 perfparents (no help text available) | 89 perfparents (no help text available) |
90 perfpathcopies | 90 perfpathcopies |
91 (no help text available) | 91 (no help text available) |
92 perfrawfiles (no help text available) | 92 perfrawfiles (no help text available) |
93 perfrevlog (no help text available) | 93 perfrevlog (no help text available) |
94 perfrevlogrevision | |
95 Benchmark obtaining a revlog revision. | |
94 perfrevrange (no help text available) | 96 perfrevrange (no help text available) |
95 perfrevset benchmark the execution time of a revset | 97 perfrevset benchmark the execution time of a revset |
96 perfstartup (no help text available) | 98 perfstartup (no help text available) |
97 perfstatus (no help text available) | 99 perfstatus (no help text available) |
98 perftags (no help text available) | 100 perftags (no help text available) |
134 $ hg perfmoonwalk | 136 $ hg perfmoonwalk |
135 $ hg perfnodelookup 2 | 137 $ hg perfnodelookup 2 |
136 $ hg perfpathcopies 1 2 | 138 $ hg perfpathcopies 1 2 |
137 $ hg perfrawfiles 2 | 139 $ hg perfrawfiles 2 |
138 $ hg perfrevlog .hg/store/data/a.i | 140 $ hg perfrevlog .hg/store/data/a.i |
141 $ hg perfrevlogrevision -m 0 | |
139 $ hg perfrevrange | 142 $ hg perfrevrange |
140 $ hg perfrevset 'all()' | 143 $ hg perfrevset 'all()' |
141 $ hg perfstartup | 144 $ hg perfstartup |
142 $ hg perfstatus | 145 $ hg perfstatus |
143 $ hg perftags | 146 $ hg perftags |