py.test fixture for benchmarking code
Project description
A py.test fixture for benchmarking code.
Free software: BSD license
Installation
pip install pytest-benchmark
Usage
def test_my_stuff(benchmark):
with benchmark:
# Code to be measured
result = time.sleep(0.000001)
# Extra code, to verify that the run completed correctly.
# Note: this code is not measured.
assert result is None
py.test command-line options:
- --benchmark-max-time=BENCHMARK_MAX_TIME
Maximum time to spend in a benchmark (including overhead).
- --benchmark-max-iterations=BENCHMARK_MAX_ITERATIONS
Maximum iterations to do.
- --benchmark-min-iterations=BENCHMARK_MIN_ITERATIONS
Minium iterations, even if total time would exceed max-time.
- --benchmark-scale=BENCHMARK_SCALE
Minium iterations, even if total time would exceed max-time.
- --benchmark-timer=BENCHMARK_TIMER
Timer to use when measuring time.
- --benchmark-disable-gc
Disable GC during benchmarks.
- --benchmark-skip
Skip running any benchmarks.
- --benchmark-only
Only run benchmarks.
Setting per-test options:
@pytest.mark.benchmark(
group="group-name", max_time=0.5,
max_iterations=5000, min_iterations=5,
timer=time.time, disable_gc=True)
def test_my_stuff(benchmark):
with benchmark:
# Code to be measured
result = time.sleep(0.000001)
# Extra code, to verify that the run
# completed correctly.
# Note: this code is not measured.
assert result is None
Documentation
Obligatory screenshot
Development
To run the all tests run:
tox
Changelog
0.1.0 (2014-10-10)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pytest-benchmark-0.12.1.tar.gz
(27.6 kB
view hashes)
Built Distribution
Close
Hashes for pytest_benchmark-0.12.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dd1a0c4579109739132ee41c3b7b238c9e0a15ee2741e85c28480c88a2f9926 |
|
MD5 | 016778087f5c8432af0542c6f6024c17 |
|
BLAKE2b-256 | d2f5135bbc03b592097b9cc3eb61cb0c15ddc0f057acb7fb64b4028159deb96f |