Exception Mechanisms 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 number of exceptions to be thrown in each test run.


Measurement of CPU as N varies
  N
Test Source 50000 100000 150000 200000
ocaml 0.01 0.03 0.04 0.05
mingw32 0.02 0.03 0.05 0.07
vc 0.02 0.03 0.05 0.07
lcc 0.02 0.04 0.06 0.08
gcc 0.05 0.07 0.08 0.11
bcc 0.03 0.07 0.09 0.12
smlnj 0.07 0.11 0.15 0.18
se 0.05 0.10 0.15 0.20
gnat 0.07 0.13 0.19 0.25
bigforth 0.09 0.18 0.26 0.33
ocamlb 0.11 0.20 0.30 0.39
poplisp 0.16 0.24 0.33 0.42
oz 0.25 0.34 0.43 0.52
erlang 0.67 0.87 1.07 1.27
vc++ 0.47 0.93 1.40 1.86
gforth 0.53 1.01 1.50 1.99
lua5 0.57 1.12 1.69 2.25
pike 0.76 1.43 2.10 2.78
ici 0.72 1.43 2.13 2.83
nice 1.40 2.23 3.06 3.90
java 1.35 2.19 3.04 3.90
guile 1.46 2.75 4.07 5.35
tcl 1.48 2.90 4.35 5.78
csharp 2.34 4.66 6.64 8.78
python 2.37 4.56 6.74 8.93
lua 2.23 4.49 6.74 8.99
cygperl 2.91 5.87 8.64 11.52
perl 4.20 8.35 12.59 16.76
ruby 6.95 13.82 20.19 27.00
ghc F F F F
modula2 F F F F
Measurement of Memory as N varies
  N
Test Source 50000 100000 150000 200000
ocaml 780 780 780 780
mingw32 520 520 520 520
vc 464 464 464 464
lcc 512 512 512 512
gcc 1508 1508 1508 1508
bcc 564 564 564 564
smlnj 940 940 940 940
se 564 564 564 564
gnat 740 740 740 740
bigforth 912 912 912 912
ocamlb 380 380 380 380
poplisp 3240 3240 3240 3240
oz 648 648 648 648
erlang 5264 5260 5260 5260
vc++ 532 532 532 532
gforth 1484 1484 1484 1484
lua5 620 620 620 620
pike 3452 3452 3452 3452
ici 1120 1120 1120 1120
nice 5276 5276 5276 5276
java 5068 5068 5068 5068
guile 2656 2656 2656 2656
tcl 1496 1496 1496 1496
csharp 3512 3508 3512 3516
python 2372 2372 2372 2372
lua 848 848 848 848
cygperl 2400 2400 2400 2400
perl 1512 1512 1504 1504
ruby 2260 2248 2248 2248
ghc F F F F
modula2 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
ocaml 0.01 780 15 log
lcc 0.02 512 39 log
vc 0.02 464 39 log
mingw32 0.02 520 39 log
bcc 0.03 564 39 log
gcc 0.05 1508 39 log
se 0.05 564 76 log
smlnj 0.07 940 47 log
gnat 0.07 740 0 log
bigforth 0.09 912 27 log
ocamlb 0.11 380 15 log
poplisp 0.16 3240 22 log
oz 0.25 648 42 log
vc++ 0.47 532 55 log
gforth 0.53 1484 27 log
lua5 0.57 620 32 log
erlang 0.67 5264 29 log
ici 0.72 1120 39 log
pike 0.76 3452 40 log
java 1.35 5068 60 log
nice 1.40 5276 0 log
guile 1.46 2656 25 log
tcl 1.48 1496 41 log
lua 2.23 848 32 log
csharp 2.34 3512 73 log
python 2.37 2372 41 log
cygperl 2.91 2400 58 log
perl 4.20 1512 58 log
ruby 6.95 2260 47 log
ghc F F 29 log
modula2 F F 0 log


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