Skip to main content

A microbenchmark for Python

Project description

Tinybench Build Status

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

MIT

Project details


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)

Uploaded Source

Built Distribution

tinybench-1.0.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

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

Hashes for tinybench-1.0.2.tar.gz
Algorithm Hash digest
SHA256 571dda3a0379fc4cfad78c332ad5cb88404cdf6af4089d3f49620dfcfc33b5e4
MD5 b0a6ed25f87a12f943425c124e70e287
BLAKE2b-256 1c18952991d71218b207457f77c51760fd6a9370011d08565ab92ae9ef50fa66

See more details on using hashes here.

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

Hashes for tinybench-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bf91379c00947a8086e2ec2c120bbff254d9213fc295c36bf236dc985bc7487e
MD5 419fb3de0241cb74226cacde626d9de7
BLAKE2b-256 7bbc42298690afcb66eed70ed0d07024c8dc55c7ef2100c1a43035adf0033d52

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page