Skip to content

Commit

Permalink
Preparations for new run.
Browse files Browse the repository at this point in the history
  • Loading branch information
Peter committed Jul 3, 2024
1 parent 21e2ece commit a2d46fe
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 31 deletions.
14 changes: 9 additions & 5 deletions Makefile.schemes
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
all: results.Bigloo results.Bones results.Chez results.Chibi results.Chicken results.ChickenCSI results.Cyclone results.Femtolisp results.GambitC results.Gauche results.Guile results.IronScheme results.Kawa results.Larceny results.Loko results.MIT results.Mosh results.Petite-Chez results.Picrin results.Racket results.S7 results.S9fES results.Sagittarius results.Stalin results.TinyScheme results.TR7 results.Ypsilon

all: results.Bigloo results.Bones results.Chez results.Chibi results.Chicken results.ChickenCSI results.Cyclone results.Femtolisp results.GambitC results.Gauche results.Gerbil results.Guile results.IronScheme results.Kawa results.Larceny results.Loko results.MIT results.Mosh results.Petite-Chez results.Picrin results.Racket results.S7 results.S9fES results.Sagittarius results.Stalin results.STklos results.TR7 results.Ypsilon
## too slow / too little memory
# results.TinyScheme
## not sure this can be made to work, it doesn't have read, begin, ...
# results.Owl-Lisp
## not packaged
# results.Foment
## does not build correctly
# results.Scheme48
# results.Gerbil results.SISC results.Vicare results.RScheme results.Rhizome
## missing
# stklos
# results.SISC results.Vicare results.RScheme results.Rhizome

results.STklos:
./bench stklos all

results.TR7:
./bench tr7 all
Expand Down Expand Up @@ -186,3 +188,5 @@ sisc: results.SISC
owllisp: results.Owl-Lisp

tr7: results.TR7

stklos: results.STklos
10 changes: 5 additions & 5 deletions bench
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ SYNTH_BENCHMARKS="equal bv2string"

ALL_BENCHMARKS="$GABRIEL_BENCHMARKS $NUM_BENCHMARKS $KVW_BENCHMARKS $IO_BENCHMARKS $OTHER_BENCHMARKS $GC_BENCHMARKS $SYNTH_BENCHMARKS"

ALL_SYSTEMS="bigloo bones chez chibi chicken chickencsi cyclone femtolisp gambitc gauche guile ironscheme kawa larceny loko mit mosh petite-chez picrin racket s7 s9fes sagittarius tinyscheme tr7 ypsilon" # foment gerbil owllisp rhizome rscheme scheme48 stklos vicare
# tinyscheme has no way to keep time, so there's no way to *measure* runtime...
ALL_SYSTEMS="bigloo bones chez chibi chicken chickencsi cyclone femtolisp gambitc gauche gerbil guile ironscheme kawa larceny loko mit mosh petite-chez picrin racket s7 s9fes sagittarius stklos tr7 ypsilon" # tinyscheme seems to run out of memory or time on *every* benchmark :-/
# foment owllisp rhizome rscheme scheme48 vicare
################################################################

NB_RUNS=1
Expand Down Expand Up @@ -118,7 +118,7 @@ setup ()
FOMENT=${FOMENT:-"foment"}
GAMBITC=${GAMBITC:-"gambitc"}
GAUCHE=${GAUCHE:-"gosh"}
GERBIL=${GERBIL:-"gxc"}
GXC=${GXC:-"gxc"}
GUILD=${GUILD:-"guild"}
GUILE=${GUILE:-"guile"}
HUSKI=${HUSKI:-"huski"}
Expand Down Expand Up @@ -785,12 +785,12 @@ gauche_exec ()
gerbil_comp ()
{
sed -i -e 's/^(run-benchmark)$//' $1
${GERBIL} -d $(dirname "$1") -exe -O -o "${1%.scm}.exe" "$1"
${GXC} -d $(dirname "$1") -exe -O -o "${1%.scm}.exe" "$1"
}

gerbil_exec ()
{
export GERBIL_HOME=/opt/gerbil-scheme-git/
export GERBIL_HOME=/opt/gerbil/
time "$1" < "$2"
}

Expand Down
30 changes: 12 additions & 18 deletions graph.scm
Original file line number Diff line number Diff line change
Expand Up @@ -435,8 +435,8 @@
(define (format-tables)
`(div (@ (class "speed-rank"))
(h3 "Detailed results")
(p "When showing " (emph "ranks") ", 1 is fastest.")
(p "When showing " (emph "percentages") ", 100% is the slowest implementation.")
(p "When showing " (strong "ranks") ", 1 is fastest.")
(p "When showing " (strong "percentages") ", 100% is the slowest implementation.")
(button (@ (id "rankpercent"))
"Show Percentages")
(table (thead (tr (th (@ (class "name")) "Test")
Expand Down Expand Up @@ -535,7 +535,7 @@ document.getElementById(\"rankpercent\").onclick = function(e) {
color: #aaaaaa;
}
th.name {
width: 7em;
width: 8em;
height: 5em;
}
div.scheme {
Expand All @@ -562,25 +562,19 @@ table {
.sep {
color: #666;
}
.warning {
background-color: #ddd;
border: 1px solid black;
padding: 1em;
}
.warning > h3 {
margin-top: 0;
}
</style>
</head>
<body>
<h3>Scheme Benchmarks</h3>
<h2>Scheme Benchmarks</h3>
<p>Based on the <a href=\"http://www.larcenists.org/benchmarksGenuineR6Linux.html\">Larceny benchmarks</a>. Code on <a href=\"http://www.github.com/ecraven/r7rs-benchmarks\">GitHub</a></p>
<div class=\"warning\">
<p>Tests were run on an Intel(R) Core(TM) i3-N305 CPU @ 3.8GHz with 48GB of RAM by using the Arch Linux packages. No guarantees for any of the numbers. <a href=\"all.csv\">CSV raw data</a></p>
<p><small>Generated at ~a, <a href=\"mailto:r7rs-benchmarks@nexoid.at\">e-mail</a></small></p>
<h3>SAFE vs. UNSAFE optimizations</h3>
<p>The benchmark results on this page are collected in <em>safe</em> mode. This means various optimisations are turned <em>off</em> for each implementation. If you need code to run as fast as possible, look into that, the Readme on <a href=\"http://www.github.com/ecraven/r7rs-benchmarks\">GitHub</a> contains a few pointers for the different implementations.</p>
<p>Feel free to run the benchmarks yourself <em>without</em> safety turned on. You'll probably need to modify the <code>bench</code> file for that.</p>
</div>
<p>Tests were run on an Intel(R) Core(TM) i3-N305 CPU @ 3.8GHz with 48GB of RAM by using the Arch Linux packages. No guarantees for any of the numbers. <a href=\"all.csv\">CSV raw data</a></p>
<h3>Actual R7RS Support</h3>
<p>Many of these implementations do <strong>not</strong> fully implement R7RS, but instead there is a bit of \"shim\" code. You can find this by looking at <code>src/&lt;Name&gt;-prelude.scm</code> and <code>src/&lt;Name&gt;-postlude.scm</code>, to see which changes are necessary. Some changes are also made by the <code>bench</code> script, especially relating to <code>import</code>s.</p>
<p>However, all of these implementations are \"close enough\" to R7RS to run a non-trivial amount of code.</p>
<style>
p { margin: 0; }
div.testrun {
Expand Down Expand Up @@ -633,7 +627,8 @@ margin-right: 1em;
.rank8 { background-color: ~a; }
.rank9 { background-color: ~a; }
</style><p><small>Generated at ~a, <a href=\"mailto:r7rs-benchmarks@nexoid.at\">e-mail</a></small></p>"
</style>"
(format-date (time-utc->date (current-time)))
(list-ref rank-colors 0)
(list-ref rank-colors 1)
(list-ref rank-colors 2)
Expand All @@ -642,8 +637,7 @@ margin-right: 1em;
(list-ref rank-colors 5)
(list-ref rank-colors 6)
(list-ref rank-colors 7)
(list-ref rank-colors 8)
(format-date (time-utc->date (current-time))))
(list-ref rank-colors 8))
(sxml->xml (format-ranks tests-ranks) #f #f)
(sxml->xml (format-finished tests-finished) #f #f)
(sxml->xml (format-tables) #f #f)
Expand Down
2 changes: 1 addition & 1 deletion src/Gerbil-postlude.scm
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
(if (> (length parts) 1) ; it's a dev version
(string-append (car parts) "-" (cadr parts))
(car parts))))
(string-append "gerbil-" version)))
(string-append "gerbil-" version "+gambitc")))
(define (main)
(run-benchmark))
2 changes: 1 addition & 1 deletion src/Racket-prelude.scm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#lang r7rs
(import (scheme base) (only (racket base) version))
(define (this-scheme-implementation-name)
(string-append "racket-" (version) "/r7rs"))
(string-append "racket-" (version) "/r7rs+chez"))
2 changes: 1 addition & 1 deletion src/STklos-prelude.scm
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
#t)))

(define (this-scheme-implementation-name)
"stklos")
(string-append "stklos-" (version)))

0 comments on commit a2d46fe

Please sign in to comment.