racket/collects/tests/mzscheme/benchmarks/common
Matthew Flatt 741d856187 fix some scribble->latex problems
svn: r9106
2008-03-29 03:16:44 +00:00
..
auto.ss fix some scribble->latex problems 2008-03-29 03:16:44 +00:00
bigloo-prelude.sch helpers for bigloo and gambit 2006-07-28 13:54:27 +00:00
browse.sch collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
cmdline.ss use new require specs in many places 2008-02-23 09:42:03 +00:00
conform.sch make benchmark durations more consistent, clean up p anti-specialization wrappers, clean up infrastructure, and support per-implementation normalization 2006-08-22 05:14:18 +00:00
conform.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
cpstack.sch collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
cpstack.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
ctak.sch fix mzscheme wrapper, adjust iterations on some benchmarks 2006-08-22 11:56:13 +00:00
ctak.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
dderiv.sch doc corrections in quick and guide 2007-12-01 01:47:32 +00:00
dderiv.ss automate 2006-08-13 12:09:55 +00:00
deriv.sch mzc -e fixes 2007-11-14 01:25:01 +00:00
deriv.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
destruct.sch make benchmark durations more consistent, clean up p anti-specialization wrappers, clean up infrastructure, and support per-implementation normalization 2006-08-22 05:14:18 +00:00
destruct.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
div.sch make benchmark durations more consistent, clean up p anti-specialization wrappers, clean up infrastructure, and support per-implementation normalization 2006-08-22 05:14:18 +00:00
div.ss make all files terminate with a newline 2008-02-24 21:27:36 +00:00
dynamic-input.txt.gz doc corrections in quick and guide 2007-12-01 01:47:32 +00:00
dynamic.sch collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
dynamic.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
dynamic2.sch v3.99.0.2 2007-11-13 12:40:00 +00:00
dynamic2.ss v3.99.0.2 2007-11-13 12:40:00 +00:00
earley.sch collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
earley.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
fft.sch collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
fft.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
gambit-prelude.sch automate 2006-08-13 12:09:55 +00:00
graphs.sch doc corrections in quick and guide 2007-12-01 01:47:32 +00:00
graphs.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
index-template.html mored edits for the benchmark-info template 2006-08-28 09:53:03 +00:00
input.txt automate 2006-08-13 12:09:55 +00:00
lattice.sch one more benchmark from Marc's set 2006-08-26 22:45:51 +00:00
lattice.ss one more benchmark from Marc's set 2006-08-26 22:45:51 +00:00
lattice2.sch v3.99.0.2 2007-11-13 12:40:00 +00:00
lattice2.ss v3.99.0.2 2007-11-13 12:40:00 +00:00
maze.sch doc corrections in quick and guide 2007-12-01 01:47:32 +00:00
maze.ss one more benchmark from Marc's set 2006-08-26 22:45:51 +00:00
maze2.sch doc corrections in quick and guide 2007-12-01 01:47:32 +00:00
maze2.ss v3.99.0.2 2007-11-13 12:40:00 +00:00
mazefun.sch one more benchmark from Marc's set 2006-08-26 22:45:51 +00:00
mazefun.ss one more benchmark from Marc's set 2006-08-26 22:45:51 +00:00
mk-bigloo.ss use new require specs in many places 2008-02-23 09:42:03 +00:00
mk-chicken.ss v3.99.0.2 2007-11-13 12:40:00 +00:00
mk-gambit.ss v3.99.0.2 2007-11-13 12:40:00 +00:00
nboyer.sch collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
nboyer.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
nestedloop.sch make benchmark durations more consistent, clean up p anti-specialization wrappers, clean up infrastructure, and support per-implementation normalization 2006-08-22 05:14:18 +00:00
nestedloop.ss benchmark lambda lifting 2006-07-27 20:09:25 +00:00
nfa.sch make benchmark durations more consistent, clean up p anti-specialization wrappers, clean up infrastructure, and support per-implementation normalization 2006-08-22 05:14:18 +00:00
nfa.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
nqueens.sch doc corrections in quick and guide 2007-12-01 01:47:32 +00:00
nqueens.ss one more benchmark from Marc's set 2006-08-26 22:45:51 +00:00
nucleic2.sch collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
nucleic2.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
paraffins.sch one more benchmark from Marc's set 2006-08-26 22:45:51 +00:00
paraffins.ss one more benchmark from Marc's set 2006-08-26 22:45:51 +00:00
peval.sch don't use /0 as an error 2006-08-27 09:55:19 +00:00
peval.ss one more benchmark from Marc's set 2006-08-26 22:45:51 +00:00
puzzle.sch collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
puzzle.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
r5rs-wrap.ss plt-r5rs exe and r5rs doc 2008-02-02 04:14:04 +00:00
README.txt add -o for auto.ss 2006-08-29 07:43:53 +00:00
sboyer.sch collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
sboyer.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
scheme.sch don't use /0 as an error 2006-08-27 09:55:19 +00:00
scheme.ss one more benchmark from Marc's set 2006-08-26 22:45:51 +00:00
scheme2.sch v3.99.0.2 2007-11-13 12:40:00 +00:00
scheme2.ss v3.99.0.2 2007-11-13 12:40:00 +00:00
sort1.sch doc corrections in quick and guide 2007-12-01 01:47:32 +00:00
sort1.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
tabulate.ss use new require specs in many places 2008-02-23 09:42:03 +00:00
tak.sch make benchmark durations more consistent, clean up p anti-specialization wrappers, clean up infrastructure, and support per-implementation normalization 2006-08-22 05:14:18 +00:00
tak.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
takl.sch doc corrections in quick and guide 2007-12-01 01:47:32 +00:00
takl.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
takr.sch make benchmark durations more consistent, clean up p anti-specialization wrappers, clean up infrastructure, and support per-implementation normalization 2006-08-22 05:14:18 +00:00
takr.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
takr2.sch fix some scribble->latex problems 2008-03-29 03:16:44 +00:00
takr2.ss fix some scribble->latex problems 2008-03-29 03:16:44 +00:00
traverse.sch collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
triangle.sch repairs 2006-08-13 13:47:30 +00:00
triangle.ss collect benchmark programs together in one place, finally 2006-07-27 19:32:22 +00:00
wrap.ss optimizer inlining improvements, especially to ensure that single-use bindings are inlined 2008-03-27 16:07:42 +00:00

To run a benchmark, assuming you have `mzscheme' in your path:
 ./auto.ss <impl-or-benchmark> ...
where <impl-or-benchmark> names an implementation as one of
   mzscheme3m
   bigloo
   chicken
   gambit
   larceny
   ...
or a benchmark as one of
   conform
   cpstack
   ctak
   ...
or any of the above prefixed by "no-" to skip the corresponding
<impl-or-benchmark>. To see a complete list of implementations
and benchmarks, run
 ./auto.ss --show

Naming no implementation/benchmark causes a standard of them to be run
(as reported by --show). Similarly, if the first named
implementation/benchmak starts with "no-", the default set is used
minus the "no-"-specified implementation/benchmark.

The output is a comment line
  ; <date and time>
and then a series of lines of the form
  [<impl> <benchmark> (<cpu-msec> <real-msec> <gc-msec>) <compile-msec>]
where #f means that the information is unavailable, or that the
benchmark wasn't run due to an implementation limitation. The
<cpu-msec> and <compile-msec> parts are #f only when the benchmark
wasn't run.

All benchmarks must be run from the directory containing this file.

Most bechmarks were obtained from
 http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/scheme/code/bench/gabriel/
 http://www.ccs.neu.edu/home/will/GC/sourcecode.html
 Marc Feeley (who has all of them and more)

Files that end in ".sch" are supposed to be standard Scheme plus `time'.
Files that end in ".ss" are MzScheme wrapper modules or helper scripts.

To build <benchmark>.sch directly with Gambit, Bigloo, or Chicken:
  mzscheme -qr mk-gambit.ss <benchmark> ; gsi -:m10000 <benchmark>.o1
  mzscheme -qr mk-bigloo.ss <benchmark> ; <benchmark>
  mzscheme -qr mk-chicken.ss <benchmark> ; <benchmark>

Unpack "dynamic-input.txt.gz" if you want to run the "dynamic" benchmark,
but the auto.ss script will do that for you.