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