[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Texmacs-dev] More Scheme benchmarks
From: |
David MENTRE |
Subject: |
Re: [Texmacs-dev] More Scheme benchmarks |
Date: |
Sun, 23 May 2004 21:54:44 +0200 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux) |
Joris van der Hoeven <address@hidden> writes:
> by the way, which Scheme interpreters use byte code?).
I know for sure that STklos is using bytecode. I don't know for this
others.
> Another question: would it be possible for you to send us the benchmarks
> for different *versions* of Guile. I am very interested in differences
> between versions 1.3.4 (Unix), 1.4 (Windows), 1.6.* (Last).
I have done benches for Guile 1.4 on Unix because it was at hand. I
leave guile 1.3.4 as an exercise for the reader. ;)
In results below, guile is for Guile 1.6 and guile14 for Guile 1.4.
Q: Do you know anything slower that Guile (1.6)?
A: Yep, Guile 1.4. :)
The full results:
(cd bench ; make all)
make[1]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/hello »
make[3]: « hello.bigloo_run » est à jour.
make[3]: « hello.cmucl_run » est à jour.
make[3]: « hello.g++_run » est à jour.
make[3]: « hello.gauche_run » est à jour.
make[3]: « hello.gcc_run » est à jour.
make[3]: « hello.ocaml_run » est à jour.
make[3]: « hello.ocamlb_run » est à jour.
make[3]: « hello.rschemei_run » est à jour.
make[3]: « hello.stalin_run » est à jour.
make[3]: « hello.stklos-script_run » est à jour.
Hello World
Measurement of CPU as N varies
1 50 100 150 200
gcc 0.00 0.04 0.08 0.13 0.17
stalin 0.00 0.04 0.08 0.13 0.17
ocaml 0.00 0.06 0.11 0.18 0.24
bigloo 0.00 0.13 0.26 0.39 0.51
ocamlb 0.00 0.13 0.26 0.38 0.52
g++ 0.00 0.14 0.28 0.41 0.57
gauche 0.02 0.73 1.45 2.16 2.87
cmucl 0.02 0.78 1.54 2.33 3.10
python 0.01 1.03 2.06 3.07 4.09
guile 0.02 1.41 2.85 4.23 5.67
mzscheme 0.03 1.51 3.03 4.52 6.03
guile14 0.04 1.53 3.03 4.54 6.10
rschemei 0.04 1.68 3.38 5.04 6.73
stklos-script 0.07 2.87 5.73 8.57 11.45
Hello World
Summary [N = 1 (min)]
Program CPU seconds Memory KB
bigloo 0.00 0
stalin 0.00 0
ocaml 0.00 0
ocamlb 0.00 0
gcc 0.00 0
g++ 0.00 0
python 0.01 0
gauche 0.02 0
guile 0.02 0
cmucl 0.02 0
mzscheme 0.03 0
rschemei 0.04 0
guile14 0.04 0
stklos-script 0.07 0
Hello World
Summary [N = 200 (max)]
Program CPU seconds Memory KB
stalin 0.17 0
gcc 0.17 0
ocaml 0.24 0
bigloo 0.51 0
ocamlb 0.52 0
g++ 0.57 0
gauche 2.87 0
cmucl 3.10 0
python 4.09 0
guile 5.67 0
mzscheme 6.03 0
guile14 6.10 0
rschemei 6.73 0
stklos-script 11.45 0
../../bin/make_startup_tab
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/hello »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/ackermann »
make[3]: « ackermann.bigloo_run » est à jour.
make[3]: « ackermann.cmucl_run » est à jour.
make[3]: « ackermann.g++_run » est à jour.
make[3]: « ackermann.gauche_run » est à jour.
make[3]: « ackermann.gcc_run » est à jour.
make[3]: « ackermann.ocaml_run » est à jour.
make[3]: « ackermann.ocamlb_run » est à jour.
make[3]: « ackermann.rschemei_run » est à jour.
make[3]: « ackermann.stalin_run » est à jour.
make[3]: « ackermann.stklos-script_run » est à jour.
Ackermann's Function
Measurement of CPU as N varies
4 5 6 7 8
g++ 0.00 0.00 0.00 0.00 0.01
gcc 0.00 0.00 0.00 0.00 0.01
ocaml 0.00 0.00 0.00 0.00 0.01
stalin 0.00 0.00 0.00 0.00 0.03
cmucl 0.01 0.02 0.01 0.02 0.04
bigloo 0.00 0.00 0.00 0.01 0.04
ocamlb 0.00 0.00 0.02 0.07 0.28
stklos-script 0.07 0.07 0.13 0.31 1.08
rschemei 0.04 0.06 0.16 0.51 1.94
mzscheme 0.04 0.09 0.27 0.70 2.40
guile 0.04 0.06 0.18 0.70 2.95
python 0.02 0.05 0.15 0.63 3.33
gauche 0.03 0.04 0.10 0.47 3.56
guile14 0.05 0.09 0.24 0.92 3.60
Ackermann's Function
Summary [N = 4 (min)]
Program CPU seconds Memory KB
bigloo 0.00 0
stalin 0.00 0
ocaml 0.00 0
ocamlb 0.00 0
gcc 0.00 0
g++ 0.00 0
cmucl 0.01 0
python 0.02 0
gauche 0.03 0
rschemei 0.04 0
guile 0.04 0
mzscheme 0.04 0
guile14 0.05 0
stklos-script 0.07 0
Ackermann's Function
Summary [N = 8 (max)]
Program CPU seconds Memory KB
ocaml 0.01 0
gcc 0.01 0
g++ 0.01 0
stalin 0.03 0
bigloo 0.04 0
cmucl 0.04 0
ocamlb 0.28 0
stklos-script 1.08 0
rschemei 1.94 0
mzscheme 2.40 0
guile 2.95 0
python 3.33 0
gauche 3.56 0
guile14 3.60 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/ackermann »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/ary3 »
make[3]: « ary3.bigloo_run » est à jour.
make[3]: « ary3.cmucl_run » est à jour.
make[3]: « ary3.g++_run » est à jour.
make[3]: « ary3.gauche_run » est à jour.
make[3]: « ary3.gcc_run » est à jour.
make[3]: « ary3.ocaml_run » est à jour.
make[3]: « ary3.ocamlb_run » est à jour.
make[3]: « ary3.rschemei_run » est à jour.
make[3]: « ary3.stalin_run » est à jour.
make[3]: « ary3.stklos-script_run » est à jour.
Array Access III
Measurement of CPU as N varies
1000 3000 5000 7000
gcc 0.00 0.00 0.00 0.00
g++ 0.00 0.01 0.00 0.01
stalin 0.00 0.01 0.01 0.01
ocaml 0.00 0.00 0.01 0.02
bigloo 0.00 0.01 0.01 0.02
cmucl 0.03 0.04 0.06 0.08
ocamlb 0.17 0.51 0.87 1.21
python 0.45 1.34 2.23 3.11
gauche 0.65 1.93 3.20 4.47
rschemei 0.78 2.22 3.65 5.07
stklos-script 0.79 2.26 3.72 5.18
guile 1.16 3.48 5.79 8.16
mzscheme 1.48 4.40 7.30 10.20
guile14 1.60 4.72 7.91 11.19
Array Access III
Summary [N = 1000 (min)]
Program CPU seconds Memory KB
bigloo 0.00 0
stalin 0.00 0
ocaml 0.00 0
gcc 0.00 0
g++ 0.00 0
cmucl 0.03 0
ocamlb 0.17 0
python 0.45 0
gauche 0.65 0
rschemei 0.78 0
stklos-script 0.79 0
guile 1.16 0
mzscheme 1.48 0
guile14 1.60 0
Array Access III
Summary [N = 7000 (max)]
Program CPU seconds Memory KB
gcc 0.00 0
stalin 0.01 0
g++ 0.01 0
bigloo 0.02 0
ocaml 0.02 0
cmucl 0.08 0
ocamlb 1.21 0
python 3.11 0
gauche 4.47 0
rschemei 5.07 0
stklos-script 5.18 0
guile 8.16 0
mzscheme 10.20 0
guile14 11.19 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/ary3 »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/fibo »
make[3]: « fibo.bigloo_run » est à jour.
make[3]: « fibo.cmucl_run » est à jour.
make[3]: « fibo.cmucl2.cmucl_run » est à jour.
make[3]: « fibo.g++_run » est à jour.
make[3]: « fibo.gauche_run » est à jour.
make[3]: « fibo.gcc_run » est à jour.
make[3]: « fibo.ocaml_run » est à jour.
make[3]: « fibo.ocamlb_run » est à jour.
make[3]: « fibo.rschemei_run » est à jour.
make[3]: « fibo.stalin_run » est à jour.
make[3]: « fibo.stklos-script_run » est à jour.
Fibonacci Numbers
Measurement of CPU as N varies
8 24 32
ocaml 0.00 0.00 0.03
g++ 0.00 0.00 0.04
gcc 0.00 0.00 0.04
stalin 0.00 0.00 0.04
bigloo 0.00 0.00 0.05
cmucl 0.01 0.02 0.11
cmucl2 0.03 0.03 0.13
ocamlb 0.00 0.01 0.57
stklos-script 0.07 0.09 2.02
rschemei 0.03 0.09 2.08
gauche 0.02 0.06 2.19
python 0.01 0.10 3.86
mzscheme 0.03 0.13 4.41
guile 0.02 0.14 5.33
guile14 0.03 0.18 7.17
Chart::Base : Caution: Tick limit of 100 exceeded. Backing of to an interval of
0.1 which plots 73 ticks
Fibonacci Numbers
Summary [N = 32 (max)]
Program CPU seconds Memory KB
ocaml 0.03 0
stalin 0.04 0
gcc 0.04 0
g++ 0.04 0
bigloo 0.05 0
cmucl 0.11 0
cmucl2 0.13 0
ocamlb 0.57 0
stklos-script 2.02 0
rschemei 2.08 0
gauche 2.19 0
python 3.86 0
mzscheme 4.41 0
guile 5.33 0
guile14 7.17 0
Fibonacci Numbers
Summary [N = 8 (min)]
Program CPU seconds Memory KB
bigloo 0.00 0
stalin 0.00 0
ocaml 0.00 0
ocamlb 0.00 0
gcc 0.00 0
g++ 0.00 0
python 0.01 0
cmucl 0.01 0
gauche 0.02 0
guile 0.02 0
rschemei 0.03 0
cmucl2 0.03 0
guile14 0.03 0
mzscheme 0.03 0
stklos-script 0.07 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/fibo »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/hash »
make[3]: « hash.bigloo_run » est à jour.
make[3]: « hash.cmucl_run » est à jour.
make[3]: « hash.g++_run » est à jour.
make[3]: « hash.gcc_run » est à jour.
make[3]: « hash.ocaml_run » est à jour.
make[3]: « hash.ocamlb_run » est à jour.
Hash (Associative Array) Access
Measurement of CPU as N varies
20000 40000 60000 80000
gcc 0.02 0.05 0.07 0.09
ocaml 0.02 0.06 0.09 0.12
g++ 0.03 0.08 0.12 0.15
cmucl 0.04 0.08 0.11 0.17
python 0.07 0.14 0.19 0.26
bigloo 0.05 0.11 0.18 0.28
ocamlb 0.07 0.15 0.23 0.31
Hash (Associative Array) Access
Summary [N = 20000 (min)]
Program CPU seconds Memory KB
gcc 0.02 0
ocaml 0.02 0
g++ 0.03 0
cmucl 0.04 0
bigloo 0.05 0
python 0.07 0
ocamlb 0.07 0
Hash (Associative Array) Access
Summary [N = 80000 (max)]
Program CPU seconds Memory KB
gcc 0.09 0
ocaml 0.12 0
g++ 0.15 0
cmucl 0.17 0
python 0.26 0
bigloo 0.28 0
ocamlb 0.31 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/hash »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/hash2 »
make[3]: « hash2.bigloo_run » est à jour.
make[3]: « hash2.cmucl_run » est à jour.
make[3]: « hash2.g++_run » est à jour.
make[3]: « hash2.gcc_run » est à jour.
make[3]: « hash2.ocaml_run » est à jour.
make[3]: « hash2.ocamlb_run » est à jour.
Hashes Part II
Measurement of CPU as N varies
10 50 100 150
gcc 0.03 0.14 0.26 0.39
ocaml 0.04 0.14 0.28 0.40
bigloo 0.06 0.26 0.52 0.77
g++ 0.06 0.29 0.57 0.83
cmucl 0.13 0.52 0.96 1.42
python2 0.16 0.58 1.12 1.64
ocamlb 0.14 0.57 1.12 1.66
python 0.22 0.72 1.31 1.90
guile 4.55 21.82 44.01 66.02
guile14 6.97 33.44 66.56 100.00
Chart::Base : Caution: Tick limit of 100 exceeded. Backing of to an interval of
0.02 which plots 52 ticks
Hashes Part II
Summary [N = 10 (min)]
Program CPU seconds Memory KB
gcc 0.03 0
ocaml 0.04 0
bigloo 0.06 0
g++ 0.06 0
cmucl 0.13 0
ocamlb 0.14 0
python2 0.16 0
python 0.22 0
guile 4.55 0
guile14 6.97 0
Hashes Part II
Summary [N = 150 (max)]
Program CPU seconds Memory KB
gcc 0.39 0
ocaml 0.40 0
bigloo 0.77 0
g++ 0.83 0
cmucl 1.42 0
python2 1.64 0
ocamlb 1.66 0
python 1.90 0
guile 66.02 0
guile14 100.00 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/hash2 »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/heapsort »
make[3]: « heapsort.bigloo_run » est à jour.
make[3]: « heapsort.cmucl_run » est à jour.
make[3]: « heapsort.g++_run » est à jour.
make[3]: « heapsort.gcc_run » est à jour.
make[3]: « heapsort.ocaml_run » est à jour.
make[3]: « heapsort.ocamlb_run » est à jour.
cp /home/david/pub/texmacs/scheme/scheme-shoot/bench/heapsort/heapsort.stalin
heapsort.stalin_run.sc
/usr/bin/stalin -I /usr/local/stalin -d1 -Ob -Om -On -Or -Ot -copt -O3 -copt
-fomit-frame-pointer -copt -Wall -copt -freg-struct-return
heapsort.stalin_run.sc
Reading source
Expanding macros
heapsort.stalin_run.sc:20:400:Unbound variable
rm heapsort.stalin_run.sc
BUILD COMMANDS FOR: heapsort.stalin
dim mai 23 17:15:51 CEST 2004
cp /home/david/pub/texmacs/scheme/scheme-shoot/bench/heapsort/heapsort.stalin
heapsort.stalin_run.sc
/usr/bin/stalin -I /usr/local/stalin -d1 -Ob -Om -On -Or -Ot -copt -O3 -copt
-fomit-frame-pointer -copt -Wall -copt -freg-struct-return
heapsort.stalin_run.sc
Reading source
Expanding macros
heapsort.stalin_run.sc:20:400:Unbound variable
make[3]: *** [heapsort.stalin_run] Erreur 255
rm heapsort.stalin_run.sc
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/heapsort »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/lists »
make[3]: « lists.bigloo_run » est à jour.
make[3]: « lists.gcc_run » est à jour.
make[3]: « lists.ocaml_run » est à jour.
make[3]: « lists.ocamlb_run » est à jour.
List Processing
Measurement of CPU as N varies
1 4 8 12 16
gcc 0.00 0.00 0.00 0.00 0.00
ocaml 0.00 0.00 0.01 0.01 0.02
bigloo 0.01 0.01 0.03 0.04 0.06
python 0.04 0.10 0.19 0.28 0.36
ocamlb 0.02 0.10 0.21 0.32 0.42
List Processing
Summary [N = 16 (max)]
Program CPU seconds Memory KB
gcc 0.00 0
ocaml 0.02 0
bigloo 0.06 0
python 0.36 0
ocamlb 0.42 0
List Processing
Summary [N = 1 (min)]
Program CPU seconds Memory KB
gcc 0.00 0
ocaml 0.00 0
bigloo 0.01 0
ocamlb 0.02 0
python 0.04 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/lists »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/matrix »
make[3]: « matrix.bigloo_run » est à jour.
make[3]: « matrix.cmucl_run » est à jour.
make[3]: « matrix.g++_run » est à jour.
make[3]: « matrix.gauche_run » est à jour.
make[3]: « matrix.gcc_run » est à jour.
make[3]: « matrix.ocaml_run » est à jour.
make[3]: « matrix.ocamlb_run » est à jour.
make[3]: « matrix.rschemei_run » est à jour.
make[3]: « matrix.stklos-script_run » est à jour.
Matrix Multiplication
Measurement of CPU as N varies
1 100 200 300
g++ 0.00 0.01 0.02 0.02
gcc 0.00 0.00 0.01 0.02
ocaml 0.00 0.01 0.02 0.03
bigloo 0.00 0.02 0.03 0.06
cmucl 0.01 0.03 0.06 0.09
ocamlb 0.00 0.57 1.13 1.69
python 0.04 1.75 3.46 5.18
stklos-script 0.10 2.48 4.87 7.30
rschemei 0.13 3.70 7.28 10.86
gauche 0.05 3.70 7.39 10.96
guile 0.07 3.92 7.87 11.70
mzscheme 0.09 4.85 9.69 14.56
guile14 0.09 5.52 10.99 16.42
Matrix Multiplication
Summary [N = 1 (min)]
Program CPU seconds Memory KB
bigloo 0.00 0
ocaml 0.00 0
ocamlb 0.00 0
gcc 0.00 0
g++ 0.00 0
cmucl 0.01 0
python 0.04 0
gauche 0.05 0
guile 0.07 0
guile14 0.09 0
mzscheme 0.09 0
stklos-script 0.10 0
rschemei 0.13 0
Matrix Multiplication
Summary [N = 300 (max)]
Program CPU seconds Memory KB
gcc 0.02 0
g++ 0.02 0
ocaml 0.03 0
bigloo 0.06 0
cmucl 0.09 0
ocamlb 1.69 0
python 5.18 0
stklos-script 7.30 0
rschemei 10.86 0
gauche 10.96 0
guile 11.70 0
mzscheme 14.56 0
guile14 16.42 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/matrix »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/methcall »
make[3]: « methcall.bigloo_run » est à jour.
make[3]: « methcall.cmucl_run » est à jour.
make[3]: « methcall.g++_run » est à jour.
make[3]: « methcall.gcc_run » est à jour.
-rw-r--r-- 1 david david 0 2004-05-23 21:50 methcall.guile14_out
-rw-r--r-- 1 david david 11 2004-05-22 20:59 Output.100000
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/methcall »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/moments »
make[3]: « moments.bigloo_run » est à jour.
make[3]: « moments.cmucl_run » est à jour.
make[3]: « moments.g++_run » est à jour.
make[3]: « moments.gcc_run » est à jour.
make[3]: « moments.ocaml_run » est à jour.
make[3]: « moments.ocamlb_run » est à jour.
cp /home/david/pub/texmacs/scheme/scheme-shoot/bench/moments/moments.stalin
moments.stalin_run.sc
/usr/bin/stalin -I /usr/local/stalin -d1 -Ob -Om -On -Or -Ot -copt -O3 -copt
-fomit-frame-pointer -copt -Wall -copt -freg-struct-return
moments.stalin_run.sc
Reading source
Expanding macros
moments.stalin_run.sc:32:1020:Unbound variable
rm moments.stalin_run.sc
BUILD COMMANDS FOR: moments.stalin
dim mai 23 17:15:55 CEST 2004
cp /home/david/pub/texmacs/scheme/scheme-shoot/bench/moments/moments.stalin
moments.stalin_run.sc
/usr/bin/stalin -I /usr/local/stalin -d1 -Ob -Om -On -Or -Ot -copt -O3 -copt
-fomit-frame-pointer -copt -Wall -copt -freg-struct-return
moments.stalin_run.sc
Reading source
Expanding macros
moments.stalin_run.sc:32:1020:Unbound variable
make[3]: *** [moments.stalin_run] Erreur 255
rm moments.stalin_run.sc
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/moments »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/nestedloop »
make[3]: « nestedloop.bigloo_run » est à jour.
make[3]: « nestedloop.cmucl_run » est à jour.
make[3]: « nestedloop.g++_run » est à jour.
make[3]: « nestedloop.gauche_run » est à jour.
make[3]: « nestedloop.gcc_run » est à jour.
make[3]: « nestedloop.ocaml_run » est à jour.
make[3]: « nestedloop.ocamlb_run » est à jour.
make[3]: « nestedloop.rschemei_run » est à jour.
make[3]: « nestedloop.stalin_run » est à jour.
make[3]: « nestedloop.stklos-script_run » est à jour.
Nested Loops
Measurement of CPU as N varies
4 8 12 16
g++ 0.00 0.00 0.01 0.03
gcc 0.00 0.00 0.00 0.03
stalin 0.00 0.00 0.01 0.03
ocaml 0.00 0.00 0.01 0.05
bigloo 0.00 0.00 0.01 0.05
cmucl 0.01 0.01 0.03 0.09
ocamlb 0.00 0.03 0.30 1.65
python 0.01 0.08 0.62 3.36
rschemei 0.12 0.24 1.30 6.43
stklos-script 0.07 0.22 1.69 8.56
gauche 0.02 0.19 1.76 9.25
guile 0.03 0.28 2.79 15.05
guile14 0.03 0.37 3.73 20.36
Nested Loops
Summary [N = 16 (max)]
Program CPU seconds Memory KB
stalin 0.03 0
gcc 0.03 0
g++ 0.03 0
bigloo 0.05 0
ocaml 0.05 0
cmucl 0.09 0
ocamlb 1.65 0
python 3.36 0
rschemei 6.43 0
stklos-script 8.56 0
gauche 9.25 0
guile 15.05 0
guile14 20.36 0
Nested Loops
Summary [N = 4 (min)]
Program CPU seconds Memory KB
bigloo 0.00 0
stalin 0.00 0
ocaml 0.00 0
ocamlb 0.00 0
gcc 0.00 0
g++ 0.00 0
python 0.01 0
cmucl 0.01 0
gauche 0.02 0
guile14 0.03 0
guile 0.03 0
stklos-script 0.07 0
rschemei 0.12 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/nestedloop »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/objinst »
make[3]: « objinst.bigloo_run » est à jour.
make[3]: « objinst.cmucl_run » est à jour.
make[3]: « objinst.g++_run » est à jour.
make[3]: « objinst.gcc_run » est à jour.
-rw-r--r-- 1 david david 0 2004-05-23 21:50 objinst.guile14_out
-rw-r--r-- 1 david david 72 2004-05-22 21:04 Output.100000
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/objinst »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/prodcons »
make[3]: « prodcons.cmucl_run » est à jour.
make[3]: « prodcons.g++_run » est à jour.
make[3]: « prodcons.gcc_run » est à jour.
make[3]: « prodcons.ocaml_run » est à jour.
make[3]: « prodcons.ocamlb_run » est à jour.
Producer/Consumer Threads
Measurement of CPU as N varies
10000 30000 70000 100000
g++ 0.03 0.07 0.18 0.23
gcc 0.02 0.08 0.18 0.25
ocaml 0.03 0.06 0.17 0.30
ocamlb 0.04 0.09 0.25 0.37
guile 0.12 0.26 0.56 0.78
cmucl 0.12 0.32 0.74 1.06
guile14 0.15 0.41 0.89 1.27
python 0.27 0.80 1.87 2.61
Chart::Base : Caution: Tick limit of 100 exceeded. Backing of to an interval of
0.05 which plots 54 ticks
Producer/Consumer Threads
Summary [N = 100000 (max)]
Program CPU seconds Memory KB
g++ 0.23 0
gcc 0.25 0
ocaml 0.30 0
ocamlb 0.37 0
guile 0.78 0
cmucl 1.06 0
guile14 1.27 0
python 2.61 0
Producer/Consumer Threads
Summary [N = 10000 (min)]
Program CPU seconds Memory KB
gcc 0.02 0
ocaml 0.03 0
g++ 0.03 0
ocamlb 0.04 0
guile 0.12 0
cmucl 0.12 0
guile14 0.15 0
python 0.27 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/prodcons »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/random »
make[3]: « random.bigloo_run » est à jour.
make[3]: « random.cmucl_run » est à jour.
make[3]: « random.g++_run » est à jour.
make[3]: « random.gcc_run » est à jour.
make[3]: « random.ocaml_run » est à jour.
make[3]: « random.ocamlb_run » est à jour.
Random Number Generator
Measurement of CPU as N varies
1000 300000 600000 900000
g++ 0.00 0.00 0.01 0.01
gcc 0.00 0.00 0.01 0.01
ocaml 0.00 0.01 0.03 0.04
cmucl 0.01 0.03 0.03 0.05
bigloo 0.00 0.08 0.16 0.24
ocamlb 0.00 0.14 0.27 0.40
python 0.02 0.44 0.85 1.28
guile 0.03 0.81 1.57 2.34
guile14 0.05 1.08 2.10 3.14
Chart::Base : Caution: Tick limit of 100 exceeded. Backing of to an interval of
0.05 which plots 64 ticks
Random Number Generator
Summary [N = 1000 (min)]
Program CPU seconds Memory KB
bigloo 0.00 0
ocaml 0.00 0
ocamlb 0.00 0
gcc 0.00 0
g++ 0.00 0
cmucl 0.01 0
python 0.02 0
guile 0.03 0
guile14 0.05 0
Random Number Generator
Summary [N = 900000 (max)]
Program CPU seconds Memory KB
gcc 0.01 0
g++ 0.01 0
ocaml 0.04 0
cmucl 0.05 0
bigloo 0.24 0
ocamlb 0.40 0
python 1.28 0
guile 2.34 0
guile14 3.14 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/random »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/regexmatch »
make[3]: « regexmatch.bigloo_run » est à jour.
make[3]: « regexmatch.cmucl_run » est à jour.
make[3]: « regexmatch.gcc_run » est à jour.
Regular Expression Matching
Measurement of CPU as N varies
1 3000 6000 9000
bigloo 0.00 0.22 0.42 0.64
cmucl 0.03 0.26 0.48 0.76
gcc 0.00 0.39 0.79 1.18
python 0.02 0.50 0.97 1.45
guile 0.04 2.30 4.52 6.73
guile14 0.06 3.97 7.87 11.77
Regular Expression Matching
Summary [N = 1 (min)]
Program CPU seconds Memory KB
bigloo 0.00 0
gcc 0.00 0
python 0.02 0
cmucl 0.03 0
guile 0.04 0
guile14 0.06 0
Regular Expression Matching
Summary [N = 9000 (max)]
Program CPU seconds Memory KB
bigloo 0.64 0
cmucl 0.76 0
gcc 1.18 0
python 1.45 0
guile 6.73 0
guile14 11.77 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/regexmatch »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/reversefile »
make[3]: « reversefile.bigloo_run » est à jour.
make[3]: « reversefile.cmucl_run » est à jour.
make[3]: « reversefile.gcc_run » est à jour.
make[3]: « reversefile.ocaml_run » est à jour.
make[3]: « reversefile.ocamlb_run » est à jour.
make[3]: « reversefile.rschemei_run » est à jour.
make[3]: « reversefile.stklos-script_run » est à jour.
Reverse a File
Measurement of CPU as N varies
5 10 15 20
gcc 0.01 0.02 0.03 0.04
ocaml 0.01 0.02 0.04 0.05
python 0.05 0.09 0.14 0.18
bigloo 0.05 0.10 0.15 0.20
ocamlb 0.10 0.21 0.31 0.41
rschemei 0.16 0.26 0.36 0.46
stklos-script 0.18 0.31 0.43 0.55
cmucl 0.26 0.51 0.84 1.12
guile 0.40 0.85 1.33 1.85
guile14 0.53 1.12 1.80 2.62
mzscheme 0.70 1.53 2.43 3.15
Reverse a File
Summary [N = 20 (max)]
Program CPU seconds Memory KB
gcc 0.04 0
ocaml 0.05 0
python 0.18 0
bigloo 0.20 0
ocamlb 0.41 0
rschemei 0.46 0
stklos-script 0.55 0
cmucl 1.12 0
guile 1.85 0
guile14 2.62 0
mzscheme 3.15 0
Reverse a File
Summary [N = 5 (min)]
Program CPU seconds Memory KB
ocaml 0.01 0
gcc 0.01 0
bigloo 0.05 0
python 0.05 0
ocamlb 0.10 0
rschemei 0.16 0
stklos-script 0.18 0
cmucl 0.26 0
guile 0.40 0
guile14 0.53 0
mzscheme 0.70 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/reversefile »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/sieve »
make[3]: « sieve.bigloo_run » est à jour.
make[3]: « sieve.g++_run » est à jour.
make[3]: « sieve.g++2.g++_run » est à jour.
make[3]: « sieve.gauche_run » est à jour.
make[3]: « sieve.gcc_run » est à jour.
make[3]: « sieve.ocaml_run » est à jour.
make[3]: « sieve.ocamlb_run » est à jour.
make[3]: « sieve.rschemei_run » est à jour.
make[3]: « sieve.stalin_run » est à jour.
make[3]: « sieve.stklos-script_run » est à jour.
Sieve of Eratosthenes
Measurement of CPU as N varies
1 300 600 900
gcc 0.00 0.02 0.04 0.06
ocaml 0.00 0.02 0.05 0.07
stalin 0.00 0.02 0.05 0.07
bigloo 0.00 0.02 0.05 0.08
g++ 0.00 0.03 0.06 0.09
ocamlb 0.00 1.19 2.37 3.57
python 0.02 2.71 5.37 8.07
rschemei 0.08 4.47 8.89 13.28
gauche 0.04 4.81 9.64 14.41
g++2 0.02 5.36 10.75 16.12
stklos-script 0.08 5.57 11.07 16.56
guile 0.06 6.55 13.06 19.61
guile14 0.08 9.25 18.44 27.69
mzscheme 0.07 10.20 20.39 30.52
Sieve of Eratosthenes
Summary [N = 1 (min)]
Program CPU seconds Memory KB
bigloo 0.00 0
stalin 0.00 0
ocaml 0.00 0
ocamlb 0.00 0
gcc 0.00 0
g++ 0.00 0
python 0.02 0
g++2 0.02 0
gauche 0.04 0
guile 0.06 0
mzscheme 0.07 0
rschemei 0.08 0
guile14 0.08 0
stklos-script 0.08 0
Sieve of Eratosthenes
Summary [N = 900 (max)]
Program CPU seconds Memory KB
gcc 0.06 0
stalin 0.07 0
ocaml 0.07 0
bigloo 0.08 0
g++ 0.09 0
ocamlb 3.57 0
python 8.07 0
rschemei 13.28 0
gauche 14.41 0
g++2 16.12 0
stklos-script 16.56 0
guile 19.61 0
guile14 27.69 0
mzscheme 30.52 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/sieve »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/spellcheck »
make[3]: « spellcheck.bigloo_run » est à jour.
make[3]: « spellcheck.cmucl_run » est à jour.
make[3]: « spellcheck.gcc_run » est à jour.
make[3]: « spellcheck.ocaml_run » est à jour.
make[3]: « spellcheck.ocamlb_run » est à jour.
Spell Checker
Measurement of CPU as N varies
1 4 7 10
gcc 0.04 0.09 0.15 0.19
ocaml 0.07 0.16 0.23 0.31
bigloo 0.07 0.20 0.34 0.45
python 0.13 0.27 0.40 0.55
ocamlb 0.14 0.32 0.50 0.70
cmucl 0.22 0.61 0.99 1.35
guile 0.76 1.97 3.15 4.34
guile14 1.12 2.87 4.60 6.25
Chart::Base : Caution: Tick limit of 100 exceeded. Backing of to an interval of
0.1 which plots 64 ticks
Spell Checker
Summary [N = 10 (max)]
Program CPU seconds Memory KB
gcc 0.19 0
ocaml 0.31 0
bigloo 0.45 0
python 0.55 0
ocamlb 0.70 0
cmucl 1.35 0
guile 4.34 0
guile14 6.25 0
Spell Checker
Summary [N = 1 (min)]
Program CPU seconds Memory KB
gcc 0.04 0
bigloo 0.07 0
ocaml 0.07 0
python 0.13 0
ocamlb 0.14 0
cmucl 0.22 0
guile 0.76 0
guile14 1.12 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/spellcheck »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/strcat »
make[3]: « strcat.bigloo_run » est à jour.
make[3]: « strcat.bigloo2.bigloo_run » est à jour.
make[3]: « strcat.cmucl_run » est à jour.
make[3]: « strcat.cmucl2.cmucl_run » est à jour.
make[3]: « strcat.g++_run » est à jour.
make[3]: « strcat.gcc_run » est à jour.
-rw-r--r-- 1 david david 6 2004-05-22 21:18 Output.10000
-rw-r--r-- 1 david david 0 2004-05-23 21:50 strcat.guile14_out
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/strcat »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/sumcol »
make[3]: « sumcol.bigloo_run » est à jour.
make[3]: « sumcol.cmucl_run » est à jour.
make[3]: « sumcol.g++_run » est à jour.
make[3]: « sumcol.gauche_run » est à jour.
make[3]: « sumcol.gcc_run » est à jour.
make[3]: « sumcol.gcc2.gcc_run » est à jour.
make[3]: « sumcol.ocaml_run » est à jour.
make[3]: « sumcol.ocamlb_run » est à jour.
make[3]: « sumcol.rschemei_run » est à jour.
make[3]: « sumcol.stalin_run » est à jour.
make[3]: « sumcol.stklos-script_run » est à jour.
Sum a File of Numbers
Measurement of CPU as N varies
100 400 700 1000
gcc 0.02 0.07 0.13 0.19
gcc2 0.02 0.07 0.13 0.19
ocaml 0.03 0.10 0.17 0.25
g++ 0.03 0.12 0.21 0.32
bigloo 0.05 0.19 0.34 0.48
ocamlb 0.07 0.30 0.52 0.74
stalin 0.07 0.30 0.54 0.78
python 0.14 0.50 0.86 1.23
stklos-script 0.21 0.66 1.10 1.58
cmucl 0.17 0.68 1.18 1.70
python2 0.20 0.74 1.28 1.81
gauche 0.19 0.74 1.27 1.82
mzscheme 0.28 1.02 1.78 2.52
guile 0.46 1.75 3.05 4.35
rschemei 0.56 2.08 3.62 5.16
guile14 0.61 2.33 4.13 5.89
Chart::Base : Caution: Tick limit of 100 exceeded. Backing of to an interval of
0.1 which plots 60 ticks
Sum a File of Numbers
Summary [N = 1000 (max)]
Program CPU seconds Memory KB
gcc2 0.19 0
gcc 0.19 0
ocaml 0.25 0
g++ 0.32 0
bigloo 0.48 0
ocamlb 0.74 0
stalin 0.78 0
python 1.23 0
stklos-script 1.58 0
cmucl 1.70 0
python2 1.81 0
gauche 1.82 0
mzscheme 2.52 0
guile 4.35 0
rschemei 5.16 0
guile14 5.89 0
Sum a File of Numbers
Summary [N = 100 (min)]
Program CPU seconds Memory KB
gcc2 0.02 0
gcc 0.02 0
ocaml 0.03 0
g++ 0.03 0
bigloo 0.05 0
stalin 0.07 0
ocamlb 0.07 0
python 0.14 0
cmucl 0.17 0
gauche 0.19 0
python2 0.20 0
stklos-script 0.21 0
mzscheme 0.28 0
guile 0.46 0
rschemei 0.56 0
guile14 0.61 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/sumcol »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/wc »
make[3]: « wc.bigloo_run » est à jour.
make[3]: « wc.cmucl_run » est à jour.
make[3]: « wc.g++_run » est à jour.
make[3]: « wc.gcc_run » est à jour.
make[3]: « wc.ocaml_run » est à jour.
make[3]: « wc.ocamlb_run » est à jour.
Count Lines/Words/Chars
Measurement of CPU as N varies
500 1000 1500 2000
gcc 0.01 0.02 0.05 0.06
ocaml 0.02 0.04 0.06 0.08
cmucl 0.06 0.10 0.13 0.17
g++ 0.05 0.10 0.16 0.21
python 0.11 0.20 0.30 0.39
bigloo 0.10 0.20 0.30 0.40
ocamlb 0.56 1.11 1.66 2.22
guile 3.88 7.76 11.60 15.46
guile14 5.68 11.36 17.02 22.86
Count Lines/Words/Chars
Summary [N = 2000 (max)]
Program CPU seconds Memory KB
gcc 0.06 0
ocaml 0.08 0
cmucl 0.17 0
g++ 0.21 0
python 0.39 0
bigloo 0.40 0
ocamlb 2.22 0
guile 15.46 0
guile14 22.86 0
Count Lines/Words/Chars
Summary [N = 500 (min)]
Program CPU seconds Memory KB
gcc 0.01 0
ocaml 0.02 0
g++ 0.05 0
cmucl 0.06 0
bigloo 0.10 0
python 0.11 0
ocamlb 0.56 0
guile 3.88 0
guile14 5.68 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/wc »
make[2]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/wordfreq »
make[3]: « wordfreq.bigloo_run » est à jour.
make[3]: « wordfreq.gcc_run » est à jour.
make[3]: « wordfreq.gcc2.gcc_run » est à jour.
make[3]: « wordfreq.ocaml_run » est à jour.
make[3]: « wordfreq.ocamlb_run » est à jour.
Word Frequency
Measurement of CPU as N varies
1 5 10 15 20
gcc2 0.01 0.04 0.09 0.12 0.16
gcc 0.01 0.05 0.09 0.13 0.17
ocaml 0.04 0.09 0.15 0.21 0.26
bigloo 0.03 0.11 0.19 0.29 0.37
python 0.08 0.22 0.39 0.57 0.74
ocamlb 0.18 0.59 1.10 1.59 2.08
guile 0.86 2.85 5.33 7.76 10.21
guile14 1.51 4.86 9.01 13.11 17.17
Word Frequency
Summary [N = 1 (min)]
Program CPU seconds Memory KB
gcc2 0.01 0
gcc 0.01 0
bigloo 0.03 0
ocaml 0.04 0
python 0.08 0
ocamlb 0.18 0
guile 0.86 0
guile14 1.51 0
Word Frequency
Summary [N = 20 (max)]
Program CPU seconds Memory KB
gcc2 0.16 0
gcc 0.17 0
ocaml 0.26 0
bigloo 0.37 0
python 0.74 0
ocamlb 2.08 0
guile 10.21 0
guile14 17.17 0
../../bin/make_all_html
make[2]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench/wordfreq »
make[1]: quittant le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot/bench »
(cd bench ; make --no-print-directory report> report.txt)
make craps codelinks
make[1]: entrant dans le répertoire «
/home/david/pub/texmacs/scheme/scheme-shoot »
make[1]: quittant le répertoire « /home/david/pub/texmacs/scheme/scheme-shoot »
Yours,
d.
--
David Mentré <address@hidden>
- [Texmacs-dev] More Scheme benchmarks, David MENTRE, 2004/05/23
- [Texmacs-dev] Bigloo?, Joris van der Hoeven, 2004/05/23
- Re: [Texmacs-dev] Bigloo?, Joris van der Hoeven, 2004/05/24
- Re: [Texmacs-dev] Bigloo?, Gabriel Dos Reis, 2004/05/24
- [Texmacs-dev] How to mark/copy objects in C++, Joris van der Hoeven, 2004/05/24
- Re: [Texmacs-dev] How to mark/copy objects in C++, Gabriel Dos Reis, 2004/05/24
- Re: [Texmacs-dev] How to mark/copy objects in C++, Joris van der Hoeven, 2004/05/25