view contrib/benchmarks/perf.py @ 39776:cb65d4b7e429

error: introduce StorageError Errors in revlogs are often represented by RevlogError. It's fine for revlogs to raise a revlog-specific exception. But in the context of multiple storage backends, it doesn't make sense to be throwing or catching an exception with "revlog" in its name when revlogs may not even be in play. This commit introduces a new generic StorageError type for representing errors in the storage layer. RevlogError is an instance of this type. Interface documentation and tests referencing RevlogError has been updated to specify StorageError should be used. .. api:: ``error.StorageError`` has been introduced to represent errors in storage. It should be used in place of ``error.RevlogError`` unless the error is known to come from a revlog. Differential Revision: https://phab.mercurial-scm.org/D4654
author Gregory Szorc <gregory.szorc@gmail.com>
date Tue, 18 Sep 2018 16:45:13 -0700
parents cff0f5926797
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")