A microbenchmark for Python
Project description
Tinybench
Tinybench is a lightweight package to time, compare, and visualize various functions. This package was inspired by the R package microbenchmark
Installation
pip install tinybench
Usage
from tinybench import benchmark, benchmark_env
# create two functions example functions to test
def foo(a):
test = []
for i in range(a):
test.append(i)
return test
def bar(a, b):
return a + b
# example input variable
c = 10000
iterations = 100
warmup = 10
# env should be globals(), or use benchmark_env(functions_list)
# functions_list should at least contain all the functions to benchmark
env = benchmark_env([foo, bar])
# instead, using globals() is recommended
env = globals()
b = benchmark(['Foo_Label:foo(c)', 'bar(10, 15)'], iterations, warmup, env)
print(b)
b.plot()
# alternatively, we can benchmark using the process time instead of real time:
b_process = benchmark(['Foo_Label:foo(c)', 'bar(10, 15)'], iterations, warmup, env, process_time = True)
Support
For any help or questions, please open an issue on GitHub.
License
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
tinybench-1.0.2.tar.gz
(4.3 kB
view hashes)
Built Distribution
Close
Hashes for tinybench-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf91379c00947a8086e2ec2c120bbff254d9213fc295c36bf236dc985bc7487e |
|
MD5 | 419fb3de0241cb74226cacde626d9de7 |
|
BLAKE2b-256 | 7bbc42298690afcb66eed70ed0d07024c8dc55c7ef2100c1a43035adf0033d52 |