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 details)
Built Distribution
File details
Details for the file tinybench-1.0.2.tar.gz
.
File metadata
- Download URL: tinybench-1.0.2.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 571dda3a0379fc4cfad78c332ad5cb88404cdf6af4089d3f49620dfcfc33b5e4 |
|
MD5 | b0a6ed25f87a12f943425c124e70e287 |
|
BLAKE2b-256 | 1c18952991d71218b207457f77c51760fd6a9370011d08565ab92ae9ef50fa66 |
File details
Details for the file tinybench-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: tinybench-1.0.2-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf91379c00947a8086e2ec2c120bbff254d9213fc295c36bf236dc985bc7487e |
|
MD5 | 419fb3de0241cb74226cacde626d9de7 |
|
BLAKE2b-256 | 7bbc42298690afcb66eed70ed0d07024c8dc55c7ef2100c1a43035adf0033d52 |