Ackermann's Function Back to the Win32 Shootout
Back to dada's perl lab

[The Original Shootout]   [NEWS]   [FAQ]   [Methodology]   [Platform Details]   [Acknowledgements]   [Scorecard]  

Measurements while N varies

The test parameter N is used as the second parameter to the Ackermann function. So if N is 8, then we compute Ackermann(3,8).


Measurement of CPU as N varies
  N
Test Source 4 5 6 7 8
ocaml 0.06 0.01 0.01 0.01 0.04
vc++ 0.01 0.01 0.01 0.01 0.04
vc 0.01 0.01 0.01 0.01 0.05
mercury 0.03 0.03 0.03 0.04 0.06
ghc 0.01 0.02 0.02 0.04 0.07
gcc 0.02 0.03 0.03 0.04 0.07
mingw32 0.01 0.01 0.01 0.02 0.08
delphi 0.01 0.01 0.01 0.03 0.10
modula2 0.01 0.01 0.01 0.03 0.11
bcc 0.01 0.01 0.01 0.03 0.12
fpascal 0.01 0.01 0.01 0.03 0.13
lcc 0.01 0.01 0.01 0.03 0.13
se 0.01 0.01 0.01 0.04 0.14
gnat 0.01 0.01 0.01 0.04 0.14
bigforth 0.01 0.01 0.03 0.05 0.15
pliant 0.08 0.08 0.08 0.10 0.16
csharp 0.10 0.10 0.10 0.12 0.18
modula3 0.02 0.01 0.02 0.05 0.18
smlnj 0.04 0.04 0.04 0.08 0.22
vpascal 0.01 0.01 0.02 0.07 0.28
java 0.45 0.45 0.44 0.47 0.53
nice 0.51 0.51 0.52 0.54 0.64
gforth 0.04 0.04 0.08 0.19 0.67
poplisp 0.07 0.07 0.11 0.24 0.78
erlang 0.47 0.47 0.50 0.60 1.01
ocamlb 0.02 0.03 0.08 0.28 1.09
oz 0.16 0.17 0.21 0.41 1.26
cim 0.03 0.05 0.10 0.33 1.32
parrot 0.02 0.03 0.15 0.57 2.53
pike 0.13 0.15 0.24 0.61 2.61
lua5 0.02 0.04 0.16 0.64 2.71
lua 0.01 0.05 0.16 0.74 3.81
mawk 0.04 0.08 0.23 0.86 3.99
slang 0.05 0.09 0.28 1.17 5.51
guile 0.16 0.24 0.65 2.36 8.52
icon 0.05 0.14 0.57 2.27 9.37
awka 0.05 0.14 0.57 2.45 10.34
ici 0.05 0.13 0.52 2.42 10.78
cygperl 0.08 0.20 0.75 3.20 13.85
python 0.22 0.29 0.69 2.88 14.74
perl 0.07 0.22 1.11 6.11 50.15
rexx 0.23 1.03 4.50 19.02 78.82
tcl 0.10 0.33 F F F
rebol F F F F F
ruby 0.15 0.45 1.72 F F
php 0.16 0.58 2.58 T T
gawk 0.10 0.40 1.76 7.57 T
elastic 0.06 0.18 F F F
vbscript 0.22 0.45 1.53 F F
jscript 0.22 0.46 F F F
Measurement of Memory as N varies
  N
Test Source 4 5 6 7 8
ocaml 652 652 652 656 664
vc++ 512 512 516 524 540
vc 464 464 468 476 492
mercury 1728 1728 1728 1728 1728
ghc 1180 1176 1184 1200 1224
gcc 1504 1504 1504 1504 1504
mingw32 508 512 524 548 596
delphi 584 584 584 592 604
modula2 636 636 640 652 672
bcc 564 564 572 584 608
fpascal 520 520 524 536 556
lcc 504 504 512 524 548
se 548 548 556 568 592
gnat 740 740 748 764 792
bigforth 912 912 912 916 924
pliant 3216 3216 3216 3220 3228
csharp 3300 3280 3300 3300 3280
modula3 856 860 872 892 932
smlnj 940 940 940 940 940
vpascal 564 564 568 580 600
java 4576 4580 4584 4600 4628
nice 4892 4892 4892 4908 4940
gforth 1488 1488 1492 1496 1504
poplisp 3228 3228 3232 3248 3272
erlang 5256 5256 5252 5236 5268
ocamlb 380 380 380 380 380
oz 652 652 652 652 652
cim 2044 2044 2044 2044 2044
parrot 1052 1052 1176 2896 8036
pike 3412 3416 3432 3492 3620
lua5 628 652 708 752 840
lua 612 636 688 792 1000
mawk 1596 1604 1644 1732 1912
slang 1816 1840 1908 2040 2296
guile 2476 2476 2480 2520 2784
icon 608 636 724 1028 1280
awka 2572 3552 5524 9472 17396
ici 1160 1236 1408 1676 2264
cygperl 2576 3016 4700 11372 37080
python 2428 2504 2644 2956 3544
perl 1676 2132 3948 10536 36100
rexx 1296 1600 2224 3448 5896
tcl 1800 2128 F F F
rebol F F F F F
ruby 2292 2748 3648 F F
php 3096 3384 3932 T T
gawk 2292 2588 3168 4332 T
elastic 1968 2532 F F F
vbscript 2524 2764 3228 F F
jscript 2500 2804 F F F

The following graph is similar to the graph on the index page, but here, N is much smaller, and startup costs may be more prominent.





[Note: Values have been normalized to fall in the range of 0-10 for aesthetic reasons. Original value ranges are included on the X-axis.
Source Code CPU (sec) Mem (KB) Lines Code Log
ghc 0.01 1180 9 log
bcc 0.01 564 14 log
modula2 0.01 636 0 log
vc++ 0.01 512 13 log
bigforth 0.01 912 13 log
mingw32 0.01 508 14 log
se 0.01 548 30 log
vpascal 0.01 564 18 log
lua 0.01 612 11 log
lcc 0.01 504 14 log
fpascal 0.01 520 18 log
vc 0.01 464 14 log
delphi 0.01 584 15 log
gnat 0.01 740 0 log
ocamlb 0.02 380 9 log
lua5 0.02 628 11 log
parrot 0.02 1052 35 log
modula3 0.02 856 24 log
gcc 0.02 1504 14 log
mercury 0.03 1728 36 log
cim 0.03 2044 23 log
gforth 0.04 1488 15 log
smlnj 0.04 940 20 log
mawk 0.04 1596 10 log
icon 0.05 608 13 log
awka 0.05 2572 10 log
slang 0.05 1816 15 log
ici 0.05 1160 7 log
ocaml 0.06 652 9 log
elastic 0.06 1968 17 log
poplisp 0.07 3228 10 log
perl 0.07 1676 11 log
pliant 0.08 3216 14 log
cygperl 0.08 2576 11 log
csharp 0.10 3300 15 log
tcl 0.10 1800 15 log
gawk 0.10 2292 10 log
pike 0.13 3412 9 log
ruby 0.15 2292 11 log
php 0.16 3096 10 log
oz 0.16 652 19 log
guile 0.16 2476 9 log
python 0.22 2428 12 log
vbscript 0.22 2524 15 log
jscript 0.22 2500 14 log
rexx 0.23 1296 14 log
java 0.45 4576 11 log
erlang 0.47 5256 10 log
nice 0.51 4892 0 log
rebol F F 12 log


Back to the Win32 Shootout
Back to dada's perl lab
Send comments or suggestions to dada@perl.it