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 details)
Built Distribution
File details
Details for the file bigot-1.0.2.tar.gz
.
File metadata
- Download URL: bigot-1.0.2.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.47.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54c0bfd3668076e580810df10674c344211bfc671bd33ba464a453f9f1ac8d3f |
|
MD5 | 460428380b06cd7c6044083107f09a33 |
|
BLAKE2b-256 | c5f265d7e0b3fb890bb0157818d21591b59c0a78c86cfa855ef13ca5b59deea1 |
File details
Details for the file bigot-1.0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: bigot-1.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.47.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c4bd03438468e23832d383a515aa6c92bb6bed1ef8b95fa5007df69a862f50c |
|
MD5 | 8dd99e5db18b65b1a0777064a1bbc1bf |
|
BLAKE2b-256 | fd456e633a1f928e56a90bdbe8b41a9a04f7323b1510be553cf1844981da67e3 |