##// END OF EJS Templates
contrib: add a write microbenchmark to perf.py...
contrib: add a write microbenchmark to perf.py I'm adding some performance logging to ui.write - this benchmark lets us confirm that the cost of that logging is acceptably low. At this point, the microbenchmark on Linux over SSH shows: ! wall 3.213560 comb 0.410000 user 0.350000 sys 0.060000 (best of 4) while on the Mac locally, it shows: ! wall 0.342325 comb 0.180000 user 0.110000 sys 0.070000 (best of 20)

File last commit:

r30977:5a9e4dc8 default
r30977:5a9e4dc8 default
Show More
test-contrib-perf.t
167 lines | 4.6 KiB | text/troff | Tads3Lexer
/ tests / test-contrib-perf.t
timeless
tests: drop require slow in test-contrib-perf...
r27315 #require test-repo
timeless
test-contrib-perf: add smoke tests for perf.py
r27101
Set vars:
timeless
tests: silence test-repo obsolete warning...
r29219 $ . "$TESTDIR/helpers-testrepo.sh"
timeless
test-contrib-perf: add smoke tests for perf.py
r27101 $ CONTRIBDIR="$TESTDIR/../contrib"
timeless
tests: use a single repo for test-contrib-perf
r27309 Prepare repo:
timeless
test-contrib-perf: add smoke tests for perf.py
r27101
timeless
tests: use a single repo for test-contrib-perf
r27309 $ hg init
timeless
test-contrib-perf: add smoke tests for perf.py
r27101
$ echo this is file a > a
$ hg add a
$ hg commit -m first
$ echo adding to file a >> a
$ hg commit -m second
$ echo adding more to file a >> a
$ hg commit -m third
$ hg up -r 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo merge-this >> a
$ hg commit -m merge-able
created new head
$ hg up -r 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
perfstatus
timeless
tests: use a single repo for test-contrib-perf
r27309 $ cat >> $HGRCPATH << EOF
timeless
test-contrib-perf: add smoke tests for perf.py
r27101 > [extensions]
> perfstatusext=$CONTRIBDIR/perf.py
timeless
tests: drop require slow in test-contrib-perf...
r27315 > [perf]
> presleep=0
> stub=on
> parentscount=1
timeless
test-contrib-perf: add smoke tests for perf.py
r27101 > EOF
$ hg help perfstatusext
perfstatusext extension - helper extension to measure performance
list of commands:
perfaddremove
(no help text available)
perfancestors
(no help text available)
perfancestorset
(no help text available)
perfannotate (no help text available)
Gregory Szorc
perf: support bdiffing multiple revisions in a single revlog...
r30336 perfbdiff benchmark a bdiff between revisions
timeless
test-contrib-perf: add smoke tests for perf.py
r27101 perfbranchmap
benchmark the update of a branchmap
perfcca (no help text available)
Gregory Szorc
perf: add perfchangegroupchangelog command...
r30018 perfchangegroupchangelog
Benchmark producing a changelog group for a changegroup.
timeless
test-contrib-perf: add smoke tests for perf.py
r27101 perfchangeset
(no help text available)
perfctxfiles (no help text available)
perfdiffwd Profile diff of working directory changes
perfdirfoldmap
(no help text available)
perfdirs (no help text available)
perfdirstate (no help text available)
perfdirstatedirs
(no help text available)
perfdirstatefoldmap
(no help text available)
perfdirstatewrite
(no help text available)
perffncacheencode
(no help text available)
perffncacheload
(no help text available)
perffncachewrite
(no help text available)
perfheads (no help text available)
perfindex (no help text available)
perfloadmarkers
benchmark the time to parse the on-disk markers for a repo
perflog (no help text available)
perflookup (no help text available)
Gregory Szorc
perf: add perflrucachedict command...
r27286 perflrucachedict
(no help text available)
timeless
test-contrib-perf: add smoke tests for perf.py
r27101 perfmanifest (no help text available)
perfmergecalculate
(no help text available)
perfmoonwalk benchmark walking the changelog backwards
perfnodelookup
(no help text available)
perfparents (no help text available)
perfpathcopies
(no help text available)
perfrawfiles (no help text available)
Gregory Szorc
perf: use standard arguments for perfrevlog...
r27492 perfrevlog Benchmark reading a series of revisions from a revlog.
Gregory Szorc
perf: add command for measuring revlog chunk operations...
r30451 perfrevlogchunks
Benchmark operations on revlog chunks.
Gregory Szorc
perf: add perfrevlogrevision...
r27470 perfrevlogrevision
Benchmark obtaining a revlog revision.
timeless
test-contrib-perf: add smoke tests for perf.py
r27101 perfrevrange (no help text available)
perfrevset benchmark the execution time of a revset
perfstartup (no help text available)
perfstatus (no help text available)
perftags (no help text available)
perftemplating
(no help text available)
perfvolatilesets
benchmark the computation of various volatile set
perfwalk (no help text available)
Simon Farnsworth
contrib: add a write microbenchmark to perf.py...
r30977 perfwrite microbenchmark ui.write
timeless
test-contrib-perf: add smoke tests for perf.py
r27101
timeless
help: use single quotes in use warning
r29974 (use 'hg help -v perfstatusext' to show built-in aliases and global options)
timeless
tests: drop require slow in test-contrib-perf...
r27315 $ hg perfaddremove
$ hg perfancestors
$ hg perfancestorset 2
$ hg perfannotate a
Gregory Szorc
perf: add perfbdiff...
r30307 $ hg perfbdiff -c 1
Gregory Szorc
perf: unbust perfbdiff --alldata...
r30426 $ hg perfbdiff --alldata 1
timeless
tests: drop require slow in test-contrib-perf...
r27315 $ hg perfbranchmap
$ hg perfcca
Gregory Szorc
perf: add perfchangegroupchangelog command...
r30018 $ hg perfchangegroupchangelog
timeless
tests: drop require slow in test-contrib-perf...
r27315 $ hg perfchangeset 2
$ hg perfctxfiles 2
$ hg perfdiffwd
$ hg perfdirfoldmap
$ hg perfdirs
$ hg perfdirstate
$ hg perfdirstatedirs
$ hg perfdirstatefoldmap
$ hg perfdirstatewrite
$ hg perffncacheencode
$ hg perffncacheload
$ hg perffncachewrite
$ hg perfheads
$ hg perfindex
$ hg perfloadmarkers
$ hg perflog
$ hg perflookup 2
$ hg perflrucache
$ hg perfmanifest 2
$ hg perfmergecalculate -r 3
$ hg perfmoonwalk
$ hg perfnodelookup 2
$ hg perfpathcopies 1 2
$ hg perfrawfiles 2
$ hg perfrevlog .hg/store/data/a.i
Gregory Szorc
perf: add perfrevlogrevision...
r27470 $ hg perfrevlogrevision -m 0
Gregory Szorc
perf: add command for measuring revlog chunk operations...
r30451 $ hg perfrevlogchunks -c
timeless
tests: drop require slow in test-contrib-perf...
r27315 $ hg perfrevrange
$ hg perfrevset 'all()'
$ hg perfstartup
$ hg perfstatus
$ hg perftags
$ hg perftemplating
$ hg perfvolatilesets
$ hg perfwalk
$ hg perfparents
timeless
test-contrib-perf: add smoke tests for perf.py
r27101
FUJIWARA Katsunori
tests: introduce check-perf-code.py to add extra checks on perf.py...
r29570 Check perf.py for historical portability
$ cd "$TESTDIR/.."
FUJIWARA Katsunori
tests: check importing modules in perf.py for historical portability...
r29571 $ (hg files -r 1.2 glob:mercurial/*.c glob:mercurial/*.py;
> hg files -r tip glob:mercurial/*.c glob:mercurial/*.py) |
> "$TESTDIR"/check-perf-code.py contrib/perf.py