Scripts and patches
- Download this set of automated scripts
auto_bench_scripts.tgz
and unpack it.
- 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.
- 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++.