Timing Results

alt-bc is the implementation using the stack for lexical variables.

pico-bc is the implementation that uses just happily consed a-lists for the lexical environment.

(FIB 28)

alt-bc-2 (safety 1):   38.1ms    337 MIPS   5.6x SBCL
alt-bc-2 (safety 0):   30.1ms    427 MIPS   4.4x SBCL

pico-bc (safety 1):    51.5ms    230 MIPS   7.5x SBCL
pico-bc (safety 0):    41.2ms    286 MIPS   6.1x SBCL

CLISP:                 52.5ms               7.7x SBCL
python:                68.1ms              10.0x SBCL

SBCL-2.0.2              6.8ms                 1x SBCL
CCL-1.9                 2.1ms               0.3x SBCL
ECL-13.5.1             16.7ms               2.5x SBCL
GCC-4.92                0.6ms               0.1x SBCL

(FIB 25)

alt-bc-2 (safety 1):    9.0ms    337 MIPS   6.6x SBCL
alt-bc-2 (safety 0):    7.0ms    428 MIPS   5.1x SBCL

pico-bc (safety 1):    12.5ms    222 MIPS   9.1x SBCL
pico-bc (safety 0):     9.8ms    282 MIPS   7.2x SBCL

CLISP                  12.5ms               9.1x SBCL
python                 16.1ms              11.8x SBCL

SBCL-2.0.02             1.37ms
CCL-1.9                 0.54ms              0.4x SBCL

(TAK 18 12 6)

alt-bc (safety 0)      1.89ms               6.7x SBCL
alt-bc (safety 1)      2.63ms               9.4x SBCL

pico-bc (safety 0)     4.16ms               14.9x SBCL
pico-bc (safety 1)     4.76ms               17.0x SBCL

CLISP                  2.45ms               8.8x SBCL
python                 4.38ms              15.6x SBCL

SBCL-2.0.2             0.28ms
CCL-1.9                0.15ms               0.5x SBCL
gcc-4.92               0.07ms               0.2x SBCL

CPU: Intel(R) Xeon(R) CPU E3-1276 v3 @ 3.60GHz. Lisp: SBCL-2.02 was used.


Gilbert Baumann, 2020-03-19