fix benchmark readme

svn: r17885
This commit is contained in:
Matthew Flatt 2010-01-29 17:49:25 +00:00
parent 42e68c8ff1
commit d620177619
2 changed files with 27 additions and 22 deletions

View File

@ -1,7 +1,7 @@
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
mzscheme
bigloo
chicken
gambit
@ -17,8 +17,8 @@ or any of the above prefixed by "no-" to skip the corresponding
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
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.
@ -36,7 +36,7 @@ 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)
Marc Feeley
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.
@ -47,4 +47,4 @@ To build <benchmark>.sch directly with Gambit, Bigloo, or Chicken:
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.
but the "auto.ss" script will do that for you.

View File

@ -1,14 +1,12 @@
<html>
<head><title>Some Scheme Benchmarks: Compilers</title></head>
<head><title>Some Scheme Benchmarks</title></head>
<body>
<H1>About the Benchmarks</H1>
<p>The <a href="Benchmarks.html">benchmark page</a> shows some
<p>The <a href="Benchmarks.html">benchmark results page</a> shows some
benchmark results on a collection of fairly standard (mostly
Gabriel) Scheme benchmarks. (See also the
extended <a href="../log3/Benchmarks.html">compilers and
interepreters</a> results.)</p>
Gabriel) Scheme benchmarks.</p>
<p>Tables show relative performance, with the actual time for the
fastest run shown on the left. So, by
@ -18,14 +16,18 @@
benchmark didn't run in an implementation for some reason (possibly
not a good one).</p>
<p><font color="gray" size="-1">Small gray numbers are (relative)
compile times, where the compile time for the <tt>nothing</tt>
benchmark is subtracted from every other benchmark's compile
time.</font></p>
<p><font color="gray" size="-1">
The <a href="../log2/Benchmarks.html">compilers-only page</a> shows
just the compilers among the tested implementations. For those
results, the small gray numbers are (relative) compile times, where
the compile time for the <tt>nothing</tt> benchmark is subtracted from
every other benchmark's compile time.</font></p>
<p>Run times are averaged over three runs. All reported times are CPU time (system plus user).
The times are based on the output of the implementation's <tt>time</tt>
syntactic form or similar functions.</p>
<p>Run times are averaged over three runs for compilers or one run for
interpreters. All reported times are CPU time (system plus user).
The times are based on the output of the
implementation's <tt>time</tt> syntactic form or similar
functions.</p>
<p>Machine:
<ul>
@ -38,16 +40,19 @@ time.</font></p>
<li> Chicken (4.3.0): <tt>-no-trace -no-lambda-info -optimize-level 3 -block -lambda-lift</tt></li>
<li> Gambit (4.6.0): <tt>(declare (block) (standard-bindings) (extended-bindings) (safe) (interrupts-enabled))</tt>,
compiled and run with <tt>-:m10000</tt></li>
<li> Guile (1.8.7): <tt>load</tt></li>
<li> Ikarus (0.0.4-rc1+ rev 1870): in R6RS library</li>
<li> Larceny (0.97): in R6RS library</li>
<li> MIT (7.7.90+): <tt>(declare (usual-integrations))</tt>; run with <tt>--heap 12000</tt></li>
<li> Petite Chez (7.4d): <tt>load</tt>
<li> PLT (4.2.4): in <tt>module</tt>; for benchmarks that use <tt>set-car!</tt> and <tt>set-cdr!</tt>,
PLT's R5RS support is used</li>
<li> Scheme48 (1.8): <tt>load</tt> after <tt>,bench on</tt></li>
</ul>
These configurations are all &ldquo;safe mode,&rdquo; but they allow the compiler
to assume that built-in Scheme functions are not redefined and that no top-level defintion is ever
changed. Such assumptions correspond to putting the benchmark in an
R6RS library.</P>
These configurations are all &ldquo;safe mode,&rdquo; but they allow a
compiler to assume that built-in Scheme functions are not redefined
and that no top-level defintion is ever changed. Such assumptions
correspond to putting the benchmark in an R6RS library.</P>
<p>In general, we attempt to use the various implementations in a compentent way,
but not in a sophisticated way. For example, we do not tweak
@ -56,7 +61,7 @@ R6RS library.</P>
<p>For more benchmarks and a more sophisticated use of a few compilers,
including fixnum- and flonum-specific arithmetic as well as unsafe modes,
see <a href="../log1/Gambit_20benchmarks.html">this other page</a>.</p>
see <a href="../log1/Gambit_20benchmarks.html">Gambit benchmark results</a>.</p>
<p>For further details on the benchmarks here, see the benchmark source and
infrastructure, which is available form the PLT SVN repository:</p>