CVS commit

Matthew Fluet fluet@CS.Cornell.EDU
Mon, 17 Sep 2001 09:02:34 -0400 (EDT)


http://www.cs.cornell.edu/People/fluet/MLton/benchmark.tgz

Further modification of the benchmark program to allow any number of mlton
compilers to be specified on the command line.  Specifically, you can give
a set of options to a flag and the benchmark program will automatically
produce all combinations of flags.  Invoke it like:

benchmark -mlton "/usr/local/bin/mlton" \
          -mlton "mlton -native-live-stack {false, true} -native-live-transfer {false, true}"

Some regexps for parsing the flags.  You can also give optionless flags
(e.g., "-p").  Giving an option to a flag without "{...}"'s will cause an
error.

Also, gave each compiler an abbreviated name, which makes the tables
easier to read.  The outer "show" function automatically prints the
mapping from abbreviations to full names.  Output looks like:

MLton0 -- /usr/local/bin/mlton 
MLton1 -- mlton -native false
MLton2 -- mlton -native true
compile time
benchmark MLton0 MLton1 MLton2
hello       13.4   10.3   11.9
run time
benchmark MLton0 MLton1 MLton2
hello        0.0    0.0    0.0
run time ratio
benchmark MLton1 MLton2
hello        2.0    1.0
size
benchmark MLton0 MLton1 MLton2
hello     43,933 26,802 43,933

As before, the first registered compiler is used for the base in run-time
rations.