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.

This table compares versions of Gambit compiled with different optimization options. The version of Gambit is:

heine:~/programs/gambit/gambit> git log
commit 92409e98b47410bb4ddf00f1330e95d6d2e3e9a7
Author: Bradley Lucier 
Date:   Tue Aug 15 15:36:40 2017 -0400

    Small changes to _num.scm.
  

The systems were configured with:

Gambit-C-r6rs-fixflo-unsafe-orig: ./configure 'CC=/usr/local/gcc-7.1.0/bin/gcc -march=native -D___CAN_IMPORT_CLIB_DYNAMICALLY' '--enable-single-host' '--enable-multiple-versions'

Gambit-C-r6rs-fixflo-unsafe-O2: ./configure 'CC=/usr/local/gcc-7.1.0/bin/gcc -march=native -D___CAN_IMPORT_CLIB_DYNAMICALLY' '--enable-single-host' '--enable-multiple-versions' --enable-c-opt

Gambit-C-r6rs-fixflo-unsafe-O2-expensive: ./configure 'CC=/usr/local/gcc-7.1.0/bin/gcc -march=native -D___CAN_IMPORT_CLIB_DYNAMICALLY' '--enable-single-host' '--enable-multiple-versions' --enable-c-opt --enable-gcc-opts

Gambit-C-r6rs-fixflo-unsafe-multiple-hosts: ./configure 'CC=/usr/local/gcc-7.1.0/bin/gcc -march=native -D___CAN_IMPORT_CLIB_DYNAMICALLY'

CPU: model name : Intel(R) Xeon(R) CPU E3-1271 v3 @ 3.60GHz

I don't believe that these times justify the statement in INSTALL.txt:

It is also ***highly*** recommended to use the --enable-c-opt option
to enable a higher C optimization level (-O2 instead of -O1):

  % ./configure --enable-single-host --enable-c-opt

I suggest rather to "***highly*** recommend" --enable-single-host, not --enable-c-opt. The improvements in run time aren't worth the extra hassles at compile time.

CPU time

Program        Gambit-C-r6rs-fixflo-unsafe-O2 Gambit-C-r6rs-fixflo-unsafe-O2-expensive Gambit-C-r6rs-fixflo-unsafe-multiple-hosts Gambit-C-r6rs-fixflo-unsafe-orig
succeed 0 0 0 0
fail failed failed failed failed
crash
browse 1.05 688 1.21 688
cpstak 1.06 248 1.06 1.23
ctak 1.03 300 1.08 1.07
dderiv 1.03 312 2.05 1.28
deriv 1.03 276 1.04 1.33
destruc 1.02 1.09 256 1.12
diviter 1.05 1.01 304 1.05
divrec 1.06 380 1.03 1.01
puzzle 1.03 140 1.23 1.26
takl 136 136 2.21 1.03
trav1 180 180 1.31 1.02
trav2 680 680 680 680
triangl 260 260 1.05 1.06
fft 1.11 1.06 72 1.06
fib 1.51 1.49 148 1.11
fibfp 1.02 1.08 160 1.02
mbrot 1.03 152 1.03 1.03
nucleic 52 52 1.46 52
pnpoly 1.15 52 1.38 1.08
sum 1.47 1.40 60 1.13
sumfp 1.04 688 688 1.20
tak 1.30 1.23 188 1.13
tfib 1.08 1.02 1.55 400
ack 1.08 1.08 1.03 144
array1 72 1.06 1.06 1.17
cat 1.15 1.11 260 1.20
string 1.07 1.04 180 180
sum1 1.22 1.17 1.61 348
sumloop 1.01 1516 1.01 1.03
tail 1.17 1.06 256 1.16
wc 1.11 1.09 140 1.14
conform 1.04 192 2.79 1.08
dynamic 1.15 1.13 1.44 156
earley 1.04 208 1.02 1.04
fibc 204 204 1.25 1.14
graphs 1.02 264 1.95 1.15
lattice 1.01 408 2.37 1.08
matrix 1.01 312 1.88 1.04
maze 148 148 2.16 148
mazefun 1.02 1.03 1.82 240
nqueens 268 268 1.03 1.07
paraffins 1.03 1.00 896 1.03
peval 1.07 1.08 1.67 244
pi 1.01 336 1.58 1.01
primes 448 1.03 1.04 1.03
ray 1.07 1.14 1.29 56
scheme 1.04 276 3.62 1.07
simplex 84 1.05 1.05 1.10
slatex 1.03 136 1.12 136
perm9 328 1.05 328 1.02
nboyer 1.04 1.03 288 1.31
sboyer 208 208 1.04 1.04
gcbench 1.04 1.03 624 1.17

Real time

Program        Gambit-C-r6rs-fixflo-unsafe-O2 Gambit-C-r6rs-fixflo-unsafe-O2-expensive Gambit-C-r6rs-fixflo-unsafe-multiple-hosts Gambit-C-r6rs-fixflo-unsafe-orig
succeed 0 0 0 0
fail failed failed failed failed
crash
browse 1.05 686 1.21 1.01
cpstak 1.06 250 1.06 1.22
ctak 1.03 300 1.08 1.07
dderiv 1.02 314 2.03 1.28
deriv 1.03 275 1.05 1.33
destruc 1.02 1.09 256 1.12
diviter 1.05 1.02 303 1.06
divrec 1.07 379 1.03 1.02
puzzle 1.01 141 1.23 1.24
takl 1.01 136 2.21 1.03
trav1 179 1.02 1.31 1.03
trav2 676 1.00 1.00 1.01
triangl 1.01 259 1.05 1.07
fft 1.11 1.04 73 1.05
fib 1.52 1.49 148 1.12
fibfp 1.06 1.09 157 1.05
mbrot 1.02 154 1.01 1.01
nucleic 1.02 52 1.44 1.02
pnpoly 1.13 53 1.34 1.02
sum 1.45 1.42 60 1.13
sumfp 1.04 1.00 688 1.20
tak 1.30 1.24 189 1.12
tfib 1.07 1.01 1.55 401
ack 1.09 1.10 1.02 143
array1 73 1.03 1.01 1.15
cat 1.16 1.11 258 1.21
string 1.06 1.03 181 181
sum1 1.22 1.18 1.61 348
sumloop 1.01 1514 1.01 1.03
tail 1.18 1.06 255 1.16
wc 1.11 1.09 140 1.15
conform 1.03 193 2.78 1.08
dynamic 1.18 1.15 1.47 154
earley 1.03 207 1.02 1.05
fibc 203 1.00 1.27 1.13
graphs 1.00 265 1.94 1.15
lattice 1.01 407 2.38 1.08
matrix 1.01 313 1.88 1.04
maze 1.01 146 2.17 1.03
mazefun 1.01 1.04 1.81 241
nqueens 266 1.00 1.03 1.08
paraffins 1.03 1.00 897 1.03
peval 1.05 1.07 1.65 246
pi 1.00 337 1.58 1.01
primes 450 1.02 1.04 1.02
ray 1.07 1.12 1.27 56
scheme 1.04 275 3.63 1.07
simplex 85 1.04 1.01 1.06
slatex 1.02 1.01 1.11 136
perm9 1.01 1.05 327 1.02
nboyer 1.05 1.03 288 1.31
sboyer 206 1.01 1.03 1.04
gcbench 1.05 1.03 622 1.18