mirror of
https://github.com/martinvonz/jj.git
synced 2024-12-03 21:08:27 +00:00
f7dbade07a
This command is similar to Mercurial's revset benchmarking command. It lets you pass in a file containing revsets. I also included a file with some revsets to test on the git.git repo. I put it in `testing/`, which doesn't seem perfect. I'm happy to hear suggestions for better places, or we can move it later if we find a better place. Note that these tests don't clear caches between each run (or even between tests), so revsets that rely on filtering commit data that's not indexed appear faster than they typically are in reality.
41 lines
851 B
Text
41 lines
851 B
Text
# Revsets to pass to `jj bench revsets` on the Git
|
|
|
|
# Single tags
|
|
v1.0.0
|
|
v2.40.0
|
|
# Old history
|
|
:v1.0.0
|
|
..v1.0.0
|
|
# More history
|
|
:v2.40.0
|
|
..v2.40.0
|
|
# Only recent history
|
|
v2.39.0..v2.40.0
|
|
:v2.40.0 ~ :v2.39.0
|
|
v2.39.0:v2.40.0
|
|
# Tags and branches
|
|
tags()
|
|
branches()
|
|
# Intersection of range with a small subset
|
|
tags() & :v2.40.0
|
|
v2.39.0 & :v2.40.0
|
|
# Author and committer
|
|
author(peff)
|
|
committer(gitster)
|
|
# Intersection and union of large subsets
|
|
author(peff) & committer(gitster)
|
|
author(peff) | committer(gitster)
|
|
# Roots and heads of small subsets
|
|
roots(tags())
|
|
heads(tags())
|
|
# Roots and heads of large subsets
|
|
roots(author(peff))
|
|
heads(author(peff))
|
|
# Roots and heads of range
|
|
roots(:v2.40.0)
|
|
heads(:v2.40.0)
|
|
# Parents and children of small subset
|
|
tags()-
|
|
tags()+
|
|
# Files are unbearably slow, so only filter within small set
|
|
file(Makefile) & v1.0.0..v1.2.0
|