/tinyben

a <1000 loc benchmark suite in python

Primary LanguagePythonMIT LicenseMIT

tinyben

tinyben is an attempt to create a bencharking suite, similar to phoronix-test-suite, but simpler and easier to use. tinyBen is designed to ben <1000 lines of code 1.

Where possible tinyben appends data to a file in ./results in csv format (useful for pd.read_csv()), when it's not possible (i.e. when running an external benchmark that does not support machine readable output, like ssvb/tinymembench) it appends results to a .txt file.

Artifacts (cloned tarballs etc.) are stored in .cache/.

tinyben uses the nix package manager, to run benchmarks enter the nix-shell using nix-shell

Usage

Using tinyben is incredibly simple, just import the benchmark and run it, for example:

#run.py
import tinyben.benchmarks.llvm as llvm
import logging
from tinyben.log import logger
logger.setLevel(logging.INFO)
llvm.main()