Scripts and patches
  1. Download this set of automated scripts auto_bench_scripts.tgz and unpack it.

  2. Go into the (newly created) directory "auto_bench_scripts" and run sh auto_bench.sh . This should download and build gcc-{2.95.3,4.0.1,4.1-20050723} , STLport and bench++ and it should also run bench++. Consequently, it might take several hours to complete.

  3. Run sh convert.sh "CPU-INFO" | perl make_report.pl to see the final report. (CPU-INFO can be omitted, but it's a good practice to put numbers in context. If you are using Linux, try
    cat /proc/cpuinfo | sort -u | egrep "^cpu family|^model" | tr '\012:' ', ' | expand | sed 's/   */ /g' | sed 's/model name//' | sed 's/,$//'

In case one or more scripts are broken, you can look at the instructions for running the suite in a semi-automatic mode.


In case you have past results in a file, say "log.dat", you can view them by entering perl make_report.pl log.dat. You can as well concatenate results for multiple runs/machines/compilers into one file and view them this way.
make_report also understands parameters. In particular it accepts [-r|-a] [-R[compilerName]] [-h|--help], and behaves as follows.

-a  Specifies absolute mode (default behavior). Reports the actual execution times.
-r  Relative mode. Reports performance relative to the first column.
-R  Show only regressions. Cases where all compilers did better than the first column are omitted.
-Rname  Show only regressions for compiler "name". Omits cases where "name" did better than the first column.
-h|--help  Prints a help screen.

You may not specify -a and -r at the same time, but you can specify either of -a and -r along with -R (or -Rname).



Back to Benchmarking gcc with bench++.