The following tables contain the execution time of the Gambit benchmarks on various implementations of Scheme. For a given benchmark, the entry in green indicates which Scheme system has the fastest execution and the number given is the time in milliseconds. Other entries give the execution time relative to the green entry. Blank entries indicate that this benchmark was not executed (possibly because the system did not accept to compile the program).

The first table gives CPU time and the second gives real time.

Gambit was configured with the following options, and had the following build times:

    60	13:58	./configure 'CC=gcc -march=native' '--enable-single-host'
                time make -j 8
155.664u 2.148s 0:28.20 559.5%	0+0k 0+208520io 0pf+0w
    72	14:07	./configure 'CC=gcc -march=native'
    75	14:08	time make -j 8
112.940u 1.996s 0:18.92 607.4%	0+0k 0+224008io 0pf+0w
    83	14:13	./configure 'CC=gcc -march=native' --enable-single-host --enable-c-opt
    85	14:14	time make -j 8
460.832u 4.144s 1:14.85 621.2%	0+0k 536+209880io 1pf+0w
    94	14:20	./configure 'CC=gcc -march=native' --enable-c-opt
    96	14:20	time make -j 8
204.692u 2.636s 0:40.25 515.0%	0+0k 0+231584io 0pf+0w
   106	14:28	./configure 'CC=gcc -march=native --param max-gcse-memory=1000000000' --enable-single-host --enable-c-opt
   108	14:28	time make -j 8
554.720u 4.488s 1:56.79 478.8%	0+0k 0+209288io 0pf+0w

The versions of Gambit and gcc were:

> ../gsi/gsi -v
v4.8.1 20151107160744 x86_64-unknown-linux-gnu "./configure 'CC=gcc -march=native --param max-gcse-memory=1000000000' '--enable-single-host' '--enable-c-opt'"
> gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
stuff deleted
  Thread model: posix
gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2)
> cat /proc/cpuinfo
model name	: Intel(R) Xeon(R) CPU E3-1271 v3 @ 3.60GHz
cache size	: 8192 KB

CPU time

Program        no-single-host no-single-host.c-opt single-host single-host.c-opt single-host.c-opt.max-gcse-memory
succeed 0 0 0 0 0
fail
crash
browse 1.40 1.16 1.35 1.01 684
cpstak 1.09 256 1.22 1.02 256
ctak 1.15 296 1.34 1.11 1.08
dderiv 2.43 1.76 1.23 1.03 316
deriv 1.06 1.06 1.04 1.01 268
destruc 1.09 256 1.17 1.19 1.19
diviter 1.03 1.03 1.14 292 1.07
divrec 1.06 1.01 1.02 396 1.02
puzzle 1.27 1.16 1.11 148 1.03
takl 2.05 1.69 1.21 156 156
trav1 1.23 1.21 1.09 1.02 172
trav2 664 1.01 1.02 1.01 1.01
triangl 1.12 268 1.15 1.07 1.09
fft 76 76 1.05 1.05 76
fib 1.42 160 1.68 1.30 1.30
fibfp 1.18 160 1.35 1.02 1.02
mbrot 1.03 1.05 1.03 148 148
nucleic 1.43 1.36 56 56 56
pnpoly 1.33 1.20 1.20 60 60
sum 1.06 68 1.29 1.24 1.24
sumfp 1.01 1.01 1.02 664 1.02
tak 1.50 176 1.52 1.20 1.20
tfib 1.49 1.32 1.14 408 1.07
ack 1.17 140 1.17 1.06 1.09
array1 64 64 1.19 64 64
cat 1.28 240 1.47 1.42 1.45
string 1.03 288 1.07 1.01 1.04
sum1 1.53 1.30 1.08 348 1.10
sumloop 1.01 1.00 1.01 1512 1512
tail 1.15 216 1.33 1.28 1.35
wc 1.26 124 1.35 1.32 1.35
conform 2.55 2.25 1.34 224 224
dynamic 1.22 1.18 1.04 204 1.02
earley 1.10 208 1.17 1.06 1.04
fibc 1.25 1.04 1.18 1.04 228
graphs 2.03 1.88 1.21 268 268
lattice 2.52 2.10 1.43 448 1.01
matrix 1.88 1.73 1.24 332 1.02
maze 2.19 1.76 1.24 148 148
mazefun 1.80 1.58 1.12 256 256
nqueens 1.09 264 1.33 1.05 1.05
paraffins 1.04 1.01 1.14 1.02 684
peval 1.81 1.55 1.06 276 1.01
pi 1.49 1.34 1.05 436 1.03
primes 1.10 432 1.18 1.11 1.09
ray 1.42 1.38 96 1.04 1.04
scheme 3.22 2.91 1.25 316 1.01
simplex 1.13 92 1.17 92 92
slatex 1.18 156 156 1.03 1.08
perm9 1.09 1.03 1.12 1.09 272
nboyer 1.11 1.01 1.25 1.11 292
sboyer 1.24 204 1.31 1.16 1.08
gcbench 1.32 536 1.37 1.26 1.19

Real time

Program        no-single-host no-single-host.c-opt single-host single-host.c-opt single-host.c-opt.max-gcse-memory
succeed 0 0 0 0 0
fail
crash
browse 1.40 1.16 1.35 1.01 684
cpstak 1.11 254 1.22 1.02 1.01
ctak 1.16 294 1.34 1.12 1.09
dderiv 2.42 1.76 1.22 1.02 317
deriv 1.05 1.06 1.05 1.01 269
destruc 1.09 257 1.18 1.18 1.18
diviter 1.02 1.03 1.14 292 1.07
divrec 1.06 1.01 1.02 395 1.01
puzzle 1.29 1.16 1.11 1.01 147
takl 2.06 1.68 1.22 156 156
trav1 1.23 1.22 1.08 1.02 171
trav2 667 667 1.02 1.00 1.00
triangl 1.11 268 1.14 1.08 1.09
fft 73 1.03 1.07 1.08 1.03
fib 1.43 159 1.67 1.30 1.30
fibfp 1.18 157 1.38 1.03 1.03
mbrot 1.02 1.05 1.03 148 1.01
nucleic 1.40 1.38 1.04 55 1.02
pnpoly 1.34 1.22 1.22 1.02 58
sum 1.06 66 1.30 1.29 1.29
sumfp 1.01 1.00 1.01 666 1.02
tak 1.49 177 1.51 1.20 1.19
tfib 1.49 1.33 1.14 408 1.07
ack 1.17 139 1.17 1.07 1.08
array1 1.05 62 1.19 1.03 1.03
cat 1.29 240 1.47 1.41 1.46
string 1.03 289 1.06 1.01 1.04
sum1 1.52 1.29 1.07 349 1.10
sumloop 1.00 1.00 1.01 1513 1513
tail 1.16 216 1.33 1.29 1.35
wc 1.28 123 1.37 1.32 1.37
conform 2.55 2.25 1.35 224 1.00
dynamic 1.21 1.17 1.04 204 1.01
earley 1.11 206 1.17 1.06 1.04
fibc 1.24 1.03 1.16 1.02 229
graphs 2.03 1.89 1.21 1.00 267
lattice 2.52 2.10 1.42 448 1.00
matrix 1.89 1.74 1.25 331 1.02
maze 2.20 1.76 1.24 147 147
mazefun 1.80 1.59 1.13 254 1.00
nqueens 1.10 263 1.33 1.05 1.05
paraffins 1.04 1.01 1.14 1.02 684
peval 1.79 1.54 1.04 278 1.01
pi 1.48 1.34 1.05 436 1.03
primes 1.10 430 1.18 1.12 1.10
ray 1.42 1.34 96 1.03 1.04
scheme 3.24 2.93 1.26 313 1.02
simplex 1.15 89 1.20 1.01 1.02
slatex 1.20 154 1.01 1.05 1.08
perm9 1.08 1.02 1.11 1.09 273
nboyer 1.10 1.01 1.24 1.10 293
sboyer 1.23 203 1.31 1.17 1.09
gcbench 1.32 534 1.37 1.27 1.19