/pybench

A simple Python benchmarking tool.

Primary LanguagePythonApache License 2.0Apache-2.0

Simple Performance Benchmarks for Python

The pybench command-line tool can run a number of compute-intensive performance benchmarks and gather telemetry on not just the time to execute but also CPU and memory footprint. The logging output generated by a run can be piped into an included graphing utility to look at resource consumption during task execution.

The focus is on numerical and scientific computing tasks, but common pure-Python tasks are also included. Discover tasks with pybench list.

Run tasks by name and provide arguments. For example, to execute a large matrix multiplication task 30 times for float64 precision for a given size:

pybench run numpy.matmul float64 20000 --repeat 30 --spacing 10 --monitor-cpu --monitor-memory \
    |& tee output.log | pybench graph -o results.pdf --print