Skip to content

EasyBench

A simple and easy-to-use Python benchmarking library.

Features

  • Four benchmarking styles: decorator, class-based, command-line, and Jupyter Notebook
  • Measure both execution time and memory usage (see limitations)
  • Rich visualizations (Boxplot, Violinplot, Lineplot, Histogram, Barplot)
  • Advanced options: warmup runs, multiple loops per trial, outlier trimming
  • Parametrized benchmarks for comparing function performance with different inputs
  • pytest-like fixtures and lifecycle hooks (setup/teardown)
  • Flexible configuration: time/memory units, progress tracking, filtering
  • Multiple output formats (text tables, CSV, JSON, pandas.DataFrame)
  • Extensible reporting system for custom outputs

Installation

pip install easybench

Optional Dependencies

EasyBench supports optional dependencies for additional features:

# Install with visualization support
pip install easybench[all]

The all option includes:

  • matplotlib: For visualization and plotting benchmark results
  • seaborn: For enhanced statistical visualizations
  • pandas: For outputting benchmark results as DataFrames
  • tqdm: For progress tracking during benchmark execution