Mercurial > hg
diff 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 |
line wrap: on
line diff
--- a/tests/test-contrib-perf.t Sun Dec 20 19:02:02 2015 -0800 +++ b/tests/test-contrib-perf.t Sun Dec 20 18:38:21 2015 -0800 @@ -91,6 +91,8 @@ (no help text available) perfrawfiles (no help text available) perfrevlog (no help text available) + perfrevlogrevision + Benchmark obtaining a revlog revision. perfrevrange (no help text available) perfrevset benchmark the execution time of a revset perfstartup (no help text available) @@ -136,6 +138,7 @@ $ hg perfpathcopies 1 2 $ hg perfrawfiles 2 $ hg perfrevlog .hg/store/data/a.i + $ hg perfrevlogrevision -m 0 $ hg perfrevrange $ hg perfrevset 'all()' $ hg perfstartup