fix benchmark readme
svn: r17885
This commit is contained in:
parent
42e68c8ff1
commit
d620177619
|
@ -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.
|
||||
|
|
|
@ -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 “safe mode,” 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 “safe mode,” 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>
|
||||
|
|
Loading…
Reference in New Issue
Block a user