Skip to content
Snippets Groups Projects
Commit 70bb2a3dc1fc authored by Pierre-Yves David's avatar Pierre-Yves David :octopus:
Browse files

Add benchmark using perfrevlogrevisions

We introduce some single-element variants to make it easier to add more variation
later if needed.
parent b8cb829cb993
No related branches found
No related tags found
No related merge requests found
......@@ -60,6 +60,44 @@
def track_perfwalk(self, *args, **kwargs):
return self.perfext("perfwalk")
class RevlogReadTestSuite(BaseTestSuite):
params = BaseTestSuite.params[:]
param_names = BaseTestSuite.param_names[:]
timeout = 1800
# add a parameters the distance between each read
param_names += ['distance']
params += [[1]]
# add a parameters for the number of read to make
param_names += ['nbrev']
params += [[100]]
def _run_one(self, target, distance, nbrev, reverse=False):
cmd = [
"perfrevlogrevisions",
target,
"--dist", "%d" % distance,
"--startrev", "-%d" % (distance * nbrev)
]
if reverse:
cmd.append("--reverse")
return self.perfext(*cmd)
@params_as_kwargs
def track_perfrevlogrevisions_manifest_asc(self, distance, nbrev,
*args, **kwargs):
return self._run_one('--manifest', distance, nbrev)
@params_as_kwargs
def track_perfrevlogrevisions_manifest_desc(self, distance, nbrev,
*args, **kwargs):
return self._run_one('--manifest', distance, nbrev, reverse=True)
@params_as_kwargs
def track_perfrevlogrevisions_changelog(self, distance, nbrev,
*args, **kwargs):
return self._run_one('--changelog', distance, nbrev)
class ManifestPerfTestSuite(BaseTestSuite):
params = BaseTestSuite.params + [['persist', 'clear']]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment