Hash (Associative Array) Access 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

N is the number hash (associative array) elements accessed.


Measurement of CPU as N varies
  N
Test Source 20000 40000 60000 80000
bcc 0.13 0.26 0.38 0.52
ocaml 0.13 0.28 0.42 0.55
delphi 0.15 0.28 0.41 0.58
csharp 0.21 0.36 0.46 0.60
vc 0.14 0.31 0.45 0.62
gcc 0.18 0.35 0.50 0.67
lcc 0.17 0.36 0.53 0.73
mingw32 0.17 0.37 0.54 0.74
awka 0.24 0.45 0.64 0.86
pike 0.30 0.55 0.84 1.05
se 0.20 0.48 0.80 1.06
cygperl 0.29 0.56 0.79 1.11
python 0.44 0.69 0.94 1.20
vpascal 0.36 0.58 0.86 1.22
ocamlb 0.31 0.63 0.96 1.27
mawk 0.29 0.64 0.89 1.32
gawk 0.35 0.69 1.04 1.38
erlang 0.71 0.95 1.22 1.50
perl 0.40 0.78 1.13 1.55
php 0.47 0.89 1.32 1.78
mercury 0.50 0.89 1.35 1.85
lua 0.51 1.03 1.48 2.09
lua5 0.57 1.14 1.61 2.31
parrot 0.53 1.16 1.83 2.32
tcl 0.61 1.20 1.81 2.40
guile 0.58 1.07 1.39 2.46
java 0.87 1.29 1.82 2.57
nice 0.95 1.38 1.91 2.66
slang 0.51 1.09 1.79 2.75
ruby 0.81 1.55 2.89 3.17
ghc 0.77 1.63 2.57 3.46
oz 0.93 1.76 2.53 3.47
pliant 0.90 1.82 2.68 3.93
icon 0.69 1.42 2.74 4.13
gforth 0.97 2.12 3.27 4.75
ici 0.59 1.93 4.13 7.45
vbscript 1.77 3.98 6.99 10.71
jscript 1.86 5.81 11.90 20.21
rexx 1.54 5.44 13.41 23.47
poplisp T T T T
vc++ F F F F
fpascal F F F F
elastic T T T T
smlnj F F F F
rebol F F F F
Measurement of Memory as N varies
  N
Test Source 20000 40000 60000 80000
bcc 1292 2012 2836 3464
ocaml 1476 2140 2788 3480
delphi 1760 2664 3368 4456
csharp 5676 7856 9456 12996
vc 1492 2540 3708 4652
gcc 2228 2864 3680 4304
lcc 1372 2252 3232 4016
mingw32 1524 2568 3696 4640
awka 3860 6124 8224 10408
pike 5192 7020 7260 10656
se 2872 5104 6500 9604
cygperl 5036 7696 10100 13024
python 3636 5676 6564 7440
vpascal 31784 37144 42500 47868
ocamlb 380 380 380 380
mawk 2728 3860 5008 6128
gawk 3656 5256 6892 8456
erlang 6836 8616 10360 12284
perl 4968 8472 11736 15500
php 4996 7160 9196 11580
mercury 5368 5588 5804 6020
lua 3412 6200 8900 11912
lua5 3556 6516 8020 12512
parrot 6372 10800 18452 19708
tcl 3576 5616 7844 9880
guile 3936 6140 6608 7380
java 7068 8924 11236 13964
nice 7292 9144 11460 14128
slang 3232 4636 6048 7460
ruby 3452 5744 6316 10064
ghc 3604 5708 9932 9932
oz 648 648 648 648
pliant 3968 5028 5964 7052
icon 1524 2648 3508 4624
gforth 2104 2740 3364 3992
ici 3448 5820 9012 10748
vbscript 3976 5544 7116 8680
jscript 4084 6332 8140 9932
rexx 2720 4460 6036 7752
poplisp T T T T
vc++ F F F F
fpascal F F F F
elastic T T T T
smlnj F F F F
rebol F 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
bcc 0.13 1292 20 log
ocaml 0.13 1476 24 log
vc 0.14 1492 19 log
delphi 0.15 1760 42 log
mingw32 0.17 1524 20 log
lcc 0.17 1372 19 log
gcc 0.18 2228 20 log
se 0.20 2872 36 log
csharp 0.21 5676 19 log
awka 0.24 3860 9 log
cygperl 0.29 5036 11 log
mawk 0.29 2728 9 log
pike 0.30 5192 14 log
ocamlb 0.31 380 24 log
gawk 0.35 3656 9 log
vpascal 0.36 31784 104 log
perl 0.40 4968 11 log
python 0.44 3636 13 log
php 0.47 4996 10 log
mercury 0.50 5368 22 log
slang 0.51 3232 19 log
lua 0.51 3412 10 log
parrot 0.53 6372 57 log
lua5 0.57 3556 10 log
guile 0.58 3936 14 log
ici 0.59 3448 8 log
tcl 0.61 3576 15 log
icon 0.69 1524 28 log
erlang 0.71 6836 31 log
ghc 0.77 3604 18 log
ruby 0.81 3452 12 log
java 0.87 7068 18 log
pliant 0.90 3968 15 log
oz 0.93 648 41 log
nice 0.95 7292 0 log
gforth 0.97 2104 17 log
rexx 1.54 2720 15 log
vbscript 1.77 3976 11 log
jscript 1.86 4084 17 log
elastic T T 23 log
smlnj F F 34 log
poplisp T T 25 log
rebol F F 30 log
vc++ F F 26 log
fpascal F F 104 log


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