Benchmarking library with Space and Time Complexity estimation
Project description
Bigot
Benchmarking library with Space and Time Complexity estimation.
Pull requests are welcome !
Installation
pip install bigot
Usage
Provide a benchmark function with a single dimension parameter
def on(n):
x = 10000000*"-"*int(n)
sleep(0.001*n)
import bigot
print("Function has a space complexity of", bigot.Space(on2),
"and a time complexity of", bigot.Time(on2))
Function has a space complexity of O(n^2) and a time complexity of O(n^2)
You can test our fancy options. See docstrings for reference.
bench = bigot.Time(
on2,
plot=True,
duration=1,
verbose=True,
name="My fancy function"
)
And check the number of iterations, useful when comparing functions
print(bench.iterations, "iterations in", bench.duration, "seconds")
8 iterations in 8 seconds
You can also compare multiple functions
def on2(n):
x = 10000000*"-"*int(n**2)
sleep(0.001*n**2)
print(bigot.Compare([on, on2]).space())
Name Duration Iterations Space complexity
0 On 1.0 49.0 O(n)
1 On2 1.0 8.0 O(n^2)
Testing
pytest .
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
bigot-1.0.2.tar.gz
(3.7 kB
view hashes)
Built Distribution
Close
Hashes for bigot-1.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c4bd03438468e23832d383a515aa6c92bb6bed1ef8b95fa5007df69a862f50c |
|
MD5 | 8dd99e5db18b65b1a0777064a1bbc1bf |
|
BLAKE2b-256 | fd456e633a1f928e56a90bdbe8b41a9a04f7323b1510be553cf1844981da67e3 |