tools/dev/parrotbench.pl - Parrot benchmark
Options: -b -benchmarks use benchmarks matching regexes (multiple) -c -conf path to configuration file -d -directory path to benchmarks directory -h -? -help display this help and exits -list list available benchmarks and exits -m -method method of time from times() 1 $cuser + $csystem from times() (default) 2 Real time using POSIX::times() -n -nobench skip benchmarks matching regexes (multiple) -time show times instead of percentage
Benchmark Parrot against other interpreters.
You must specify paths to executables in a configuration file. That file may be placed as parrotbench.conf in the same directory as parrotbench.pl or otherwise explicitly specified with the -conf option. You may set any command line option in the file with the exception of the configuration file name itself. In the event you have specified an option both in the configuration file and the command line, the command line takes precedence.
Here is an example parrotbench.conf: [global] directory = ../../examples/benchmarks list = 0 help = 0 method = 2 time = 1
[regexes] include = ^gc include = ^oo exclude = header exclude = waves [benchmark parrotj] exe = ../../parrot -R jit type = .pasm type = .pir [benchmark perl_585_th] exe = /usr/bin/perl585-th type = .pl [benchmark python] exe = /usr/local/bin/python type = .py [benchmark ruby] exe = /usr/bin/ruby type = .rb
While every effort was made to ensure this script is portable, it is likely that it will break somewhere.
If a benchmark has multiple extensions associated with the same executable, the last one will be used. For instance, with the configuration file above, foo.pir would be selected over foo.pasm
Originally written by: