racket/collects/tests/racket/benchmarks/common
2011-04-26 19:21:14 -06:00
..
typed Changed the TR numeric tower to use the new flonums. 2010-10-12 16:47:45 -04:00
.gitignore
auto.rkt Fix benchmarking for bigloo to work with its default options. 2011-04-26 15:35:22 -04:00
bigloo-prelude.sch
browse.sch
cmdline.rkt
conform.rkt Specifying when R5RS is required for a benchmark and enabling running from other directories 2010-05-26 14:53:15 -06:00
conform.sch
cpstack.rkt
cpstack.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
ctak.rkt
ctak.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
dderiv.rkt
dderiv.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
deriv.o1 fix validator bug (to allow flonum-consuming proc to be cleared) 2011-04-26 19:21:14 -06:00
deriv.rkt
deriv.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
destruct.rkt Specifying when R5RS is required for a benchmark and enabling running from other directories 2010-05-26 14:53:15 -06:00
destruct.sch
div.rkt
div.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
dynamic-input.txt.gz
dynamic.rkt Specifying when R5RS is required for a benchmark and enabling running from other directories 2010-05-26 14:53:15 -06:00
dynamic.sch
dynamic2.rkt
dynamic2.sch Got rid of one-armed ifs in the common benchmarks. 2010-05-11 14:56:43 -04:00
earley.rkt
earley.sch Got rid of one-armed ifs in the common benchmarks. 2010-05-11 14:56:43 -04:00
fft.rkt
fft.sch Corrected the typed versions of some benchmarks to be closer to the 2010-05-27 09:30:49 -04:00
gambit-prelude.sch
graphs.rkt
graphs.sch Corrected some of the typed benchmarks to typecheck with Naturals as indices. 2010-05-29 14:23:11 -04:00
guile-prelude.sch
index-template.html More svn -> git changes. 2010-05-17 05:41:04 -04:00
input.txt
kanren.rkt
kanren.sch
lattice.rkt Specifying when R5RS is required for a benchmark and enabling running from other directories 2010-05-26 14:53:15 -06:00
lattice.sch
lattice2.rkt
lattice2.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
maze.rkt Specifying when R5RS is required for a benchmark and enabling running from other directories 2010-05-26 14:53:15 -06:00
maze.sch
maze2.rkt Ported the maze2 benchmark to typed Scheme. 2010-07-02 20:58:28 -04:00
maze2.sch Changed the size of the maze2 benchmark. 2010-07-07 20:46:06 -04:00
mazefun.rkt
mazefun.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
mit-prelude.sch
mk-bigloo.rktl Fix benchmarking for bigloo to work with its default options. 2011-04-26 15:35:22 -04:00
mk-chicken.rktl
mk-gambit.rktl Fixed command-line options for gambit in benchmarks. 2010-11-19 12:10:42 -05:00
nboyer.rkt
nboyer.sch
nestedloop.rkt
nestedloop.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
nfa.rkt
nfa.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
nothing.rkt
nothing.sch
nqueens.rkt
nqueens.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
nucleic2.rkt
nucleic2.sch Increased the size of the pseudoknot benchmark and ported it to 2010-06-09 14:51:52 -04:00
nucleic3.rkt Increased the size of the pseudoknot benchmark and ported it to 2010-06-09 14:51:52 -04:00
nucleic3.sch Increased the size of the pseudoknot benchmark and ported it to 2010-06-09 14:51:52 -04:00
paraffins.rkt
paraffins.sch Corrected some of the typed benchmarks to typecheck with Naturals as indices. 2010-05-29 14:23:11 -04:00
petite-prelude.sch
peval.rkt Specifying when R5RS is required for a benchmark and enabling running from other directories 2010-05-26 14:53:15 -06:00
peval.sch
psyntax-input.txt
psyntax.rkt
psyntax.sch
puzzle.rkt
puzzle.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
r5rs-wrap.rktl
ray.rkt Added Jeff Siskind's ray tracer to the racket-specific benchmarks. 2010-06-11 19:48:23 -04:00
ray.sch Added Jeff Siskind's ray tracer to the racket-specific benchmarks. 2010-06-11 19:48:23 -04:00
README.txt Documented the typed benchmarks. 2010-05-26 19:48:31 -04:00
sboyer.rkt
sboyer.sch
scheme.rkt Specifying when R5RS is required for a benchmark and enabling running from other directories 2010-05-26 14:53:15 -06:00
scheme.sch
scheme2.rkt
scheme2.sch Got rid of one-armed ifs in the common benchmarks. 2010-05-11 14:56:43 -04:00
scheme48-prelude.sch
sort1.rkt Specifying when R5RS is required for a benchmark and enabling running from other directories 2010-05-26 14:53:15 -06:00
sort1.sch
tabulate.rkt Added an option to subtract the running time of the empty benchmark to 2010-06-15 16:39:32 -04:00
tak.rkt
tak.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
takl.rkt
takl.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
takr.rkt
takr.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
takr2.rkt
takr2.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
traverse.sch
triangle.rkt
triangle.sch Changed some of the benchmarks to run for more iterations. 2010-05-26 19:48:32 -04:00
wrap-common.rkt Specifying when R5RS is required for a benchmark and enabling running from other directories 2010-05-26 14:53:15 -06:00
wrap.rkt Specifying when R5RS is required for a benchmark and enabling running from other directories 2010-05-26 14:53:15 -06:00

To run a benchmark, assuming you have `racket' in your path:
 ./auto.rkt <impl-or-benchmark> ...
where <impl-or-benchmark> names an implementation as one of
   racket
   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.rkt --show

Naming no implementation/benchmark causes a standard set 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 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.

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

Files that end in ".sch" are supposed to be standard Scheme plus `time'.
Files that end in ".rkt" are Racket wrapper modules or helper scripts.
Files that end in "-typed.rktl" are Typed Scheme versions of the benchmarks.
Files that end in "-[non-]optimizing.rkt" are Typed Scheme wrappers
that turn Typed Scheme's optimizer on or off.

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

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