Mercurial > public > mercurial-scm > hg-stable
view contrib/benchmarks/perf.py @ 30416:cff0f5926797
perf: add asv benchmarks
Airspeed velocity (ASV) is a python framework for benchmarking Python packages
over their lifetime. The results are displayed in an interactive web frontend.
Add ASV benchmarks for mercurial that use contrib/perf.py extension that could
be run against multiple reference repositories.
The benchmark suite now includes revsets from contrib/base-revsets.txt with
variants, perftags, perfstatus, perfmanifest and perfheads.
Installation requires asv>=0.2, python-hglib and virtualenv
This is part of PerformanceTrackingSuitePlan
https://www.mercurial-scm.org/wiki/PerformanceTrackingSuitePlan
author | Philippe Pepiot <philippe.pepiot@logilab.fr> |
---|---|
date | Thu, 29 Sep 2016 10:16:34 +0200 |
parents | |
children | 2372284d9457 |
line wrap: on
line source
# perf.py - asv benchmarks using contrib/perf.py extension # # Copyright 2016 Logilab SA <contact@logilab.fr> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. from __future__ import absolute_import from . import perfbench @perfbench() def track_tags(perf): return perf("perftags") @perfbench() def track_status(perf): return perf("perfstatus", unknown=False) @perfbench(params=[('rev', ['1000', '10000', 'tip'])]) def track_manifest(perf, rev): return perf("perfmanifest", rev) @perfbench() def track_heads(perf): return perf("perfheads")