A collection of scientific kernels that use the numpy package, for benchmarking purpose.
Each kernel holds a
#setup: ... code ... and a
#run: ... code ...
comment line to be passed to the
timeit module for easy benchmarking, as
automated by the
To run a specific set of benchmarks on a specific set of compilers, use the
ad hoc arguments , as in:
python run.py -t python -t pythran benchmarks/harris.py benchmarks/evolve.py
A small utility, provided with the benchmark,
fmt-bench can be used to
pretty-print the result in various format (see
python run.py | ./fmt-bench
$ python run.py -t python benchmarks/harris.py harris Python 5431 5454 14
What does it mean? The code from
benchmarks/harris.py was run through
timeit using the
#run code. It outputs (in that order
and in nanoseconds):
- the best execution time among all runs;
- the average execution time of the runs;
- the standard deviation of the runs.