Skip to content
Snippets Groups Projects
igouy's avatar
Isaac Gouy authored
4cfc4bd8
History

OBSOLETE

NOT MAINTAINED

The Benchmarks Game — bencher

Overview

  • bencher is an example of how to use the benchmarks game Python 2 program measurement scripts to make the content for the mybenchmarks PHP website scripts.

  • Different .ini files allow different sets of measurements to be separated into different folders. You really are expected to copy/edit the ini file.

  • These scripts are designed to make content for the benchmarks game website — marked-up program source code files, program log files, multi-second run times, results checking, two-dozen language implementations, a thousand programs — that might not be what you need! (Perhaps something like hyperfine would match your needs? Perhaps something like Phoronix Test Suite would match your needs?)

  • OTOH perhaps making something like the benchmarks game website is exactly what you would like to do, for example — https://pybenchmarks.org/

(January 2022, made a clean install of Ubuntu 21.10 and successfully installed the libraries required by the measurement scripts.)

(January 2023, made a clean install of Ubuntu 22.10 and was unable to install the libraries required by the measurement scripts. The scripts could be adapted to use psutil.

Background

  • These Python 2 scripts were originally written because there didn't seem to be a way to set processor affinity with the previous Perl scripts (which was a problem for single core measurements on a quad-core machine).

Example

Gotchas

  • Even if javac and java and python are on the path — you must say that in the ini file! You are expected to copy/edit the ini file and corresponding Makefile, and make explicit everything: from - use PATH to find CPython - to how often a test is run.

Usage

  1. Try to make new measurements using the example data.

  2. Once you have that working, replace the example data with your data. Delete the contents of programs, run_logs, run_markup, summary, tmp; and replace with your program folders and programs.

  3. Copy one of the .ini files and copy the matching .Makefile and edit as required (see the original detailed instructions).