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