mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
e5957f96bd
util.timer has been introduced in ae5d60bb and used in perf.py since 22fbca1d. For historical portability, forcibly define util.timer in perf.py
176 lines
4.9 KiB
Perl
176 lines
4.9 KiB
Perl
#require test-repo
|
|
|
|
Set vars:
|
|
|
|
$ . "$TESTDIR/helpers-testrepo.sh"
|
|
$ CONTRIBDIR="$TESTDIR/../contrib"
|
|
|
|
Prepare repo:
|
|
|
|
$ hg init
|
|
|
|
$ 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
|
|
|
|
$ cat >> $HGRCPATH << EOF
|
|
> [extensions]
|
|
> perfstatusext=$CONTRIBDIR/perf.py
|
|
> [perf]
|
|
> presleep=0
|
|
> stub=on
|
|
> parentscount=1
|
|
> 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)
|
|
perfbdiff benchmark a bdiff between revisions
|
|
perfbookmarks
|
|
benchmark parsing bookmarks from disk to memory
|
|
perfbranchmap
|
|
benchmark the update of a branchmap
|
|
perfcca (no help text available)
|
|
perfchangegroupchangelog
|
|
Benchmark producing a changelog group for a changegroup.
|
|
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)
|
|
perflrucachedict
|
|
(no help text available)
|
|
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)
|
|
perfphases benchmark phasesets computation
|
|
perfrawfiles (no help text available)
|
|
perfrevlogchunks
|
|
Benchmark operations on revlog chunks.
|
|
perfrevlogindex
|
|
Benchmark operations against a revlog index.
|
|
perfrevlogrevision
|
|
Benchmark obtaining a revlog revision.
|
|
perfrevlogrevisions
|
|
Benchmark reading a series of revisions from a revlog.
|
|
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)
|
|
perfwrite microbenchmark ui.write
|
|
|
|
(use 'hg help -v perfstatusext' to show built-in aliases and global options)
|
|
$ hg perfaddremove
|
|
$ hg perfancestors
|
|
$ hg perfancestorset 2
|
|
$ hg perfannotate a
|
|
$ hg perfbdiff -c 1
|
|
$ hg perfbdiff --alldata 1
|
|
$ hg perfbookmarks
|
|
$ hg perfbranchmap
|
|
$ hg perfcca
|
|
$ hg perfchangegroupchangelog
|
|
$ 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 perfrevlogindex -c
|
|
$ hg perfrevlogrevisions .hg/store/data/a.i
|
|
$ hg perfrevlogrevision -m 0
|
|
$ hg perfrevlogchunks -c
|
|
$ hg perfrevrange
|
|
$ hg perfrevset 'all()'
|
|
$ hg perfstartup
|
|
$ hg perfstatus
|
|
$ hg perftags
|
|
$ hg perftemplating
|
|
$ hg perfvolatilesets
|
|
$ hg perfwalk
|
|
$ hg perfparents
|
|
|
|
Check perf.py for historical portability
|
|
|
|
$ cd "$TESTDIR/.."
|
|
|
|
$ (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
|