racket/collects/tests/mzscheme/benchmarks/common/index-template.html
2006-08-28 09:53:03 +00:00

58 lines
2.8 KiB
HTML

<html>
<head><title>Some Scheme Benchmarks</title></head>
<body>
<H1>About the Benchmarks</H1>
<p>The pages linked below show some benchmark results on a collection of fairly standard
(mostly Gabriel) Scheme benchmarks.</p>
<p>Tables show relative performance, with the actual time for the fastest
run shown on the left. So, by default, <font color=forestgreen><b>1</b></font>
is the fastest, but select any implementation to normalize the table with
respect to that implementation's speed. A <tt>--</tt> appears when a benchmark
didn't run in an implementation (and you should assume a benchmark problem,
rather than an implementation problem).</p>
<p><font color="gray" size="-1">Small gray numbers are (relative) compile times.</font></p>
<p>Run times are averaged over three runs. All reported times are CPU time (system plus user).
Where available, the times are based on the output of the implementation's <tt>time</tt>
syntactic form, otherwise <tt>/usr/bin/time</tt> is used.</p>
<p>Compiler configuration:
<ul>
<li> Bigloo (2.8b): <tt>-06 -copt -O3 -copt -fomit-frame-pointer</tt></il>
<li> Chicken (2 build 3): <tt>-no-trace -no-lambda-info -optimize-level 3 -block -lambda-lift</tt></il>
<li> Gambit (4.0 beta 17): <tt>(declare (block) (standard-bindings) (extended-bindings) (safe) (interrupts-enabled))</tt>,
installed with <tt>--enable-single-host</tt>, compiled with <tt>-dynamic</tt>, compiled and run with <tt>-:m10000</tt></li>
<li> Larceny (0.92b): default mode &mdash; but should use <tt>(benchmark-block-mode #t)</tt> when it works</li>
<li> MzScheme (352.5): in <tt>module</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 (except
in the case of Larceny) that no top-level defintion is ever
changed. Such assumptions correspond to putting the benchmark in an
R6RS library (we expect).</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
inlining parameters or specify fixnum arithmetic (where appropriate),
which could produce significant improvements from some compilers.</p>
<p>For a larger set of benchmarks and a more sophisticated use of the compilers,
see Marc Feeley's page:
<a href="http://www.iro.umontreal.ca/~gambit/bench.html">http://www.iro.umontreal.ca/~gambit/bench.html</a>.
<p>For further details on the benchmarks here, see the benchmark source and
infrastructure, which is available form the PLT SVN repository:</p>
<p align=center>
<a href="http://svn.plt-scheme.org/plt/trunk/collects/tests/mzscheme/benchmarks/common/">http://svn.plt-scheme.org/plt/trunk/collects/tests/mzscheme/benchmarks/common/</a></P>
<H1>Results</H1>
<ul>
<li> <a href=machine1.html>machine1</a> ...
</ul>