Benching #Smalltalk vs Squeak
goran.krampe at bluefish.se
goran.krampe at bluefish.se
Mon Nov 24 08:51:53 UTC 2003
Hi all!
This weekend I installed .Net 1.1 runtime and Mono-0.28 on my XP laptop.
Then I downloaded SharpSmalltalk and tried the benchmarks. Also ran the
benchmarks on my 3.7alpha image using the latest Win32 VM 3.6.2. I
include the results below.
By an untrained eye it looks like Mono is much slower than MS runtime
(but note that I don't know if I should run mono using some neat
switches or anything, I just guessed on "mono" :)) - but I still find it
nice that it works at all.
Also - the MS runtime + SharpSmalltalk has pretty decent numbers
compared to Squeak. Half the bytecode speed but faster on sends (though
I assume tinyBenchmark is only a hint).
If we look at SlopStone (I just used the "Benchmark" package on SM - not
sure if it is the same code that SharpSmalltalk includes in its
download, but I guess it is) it seems that .Net shines on adding floats
(11 times faster), creating objects (7 times faster) and evaluating
blocks (31 times faster).
Of course - these numbers look "suspiciously good". :) Smopstone I can't
make heads or tails of - and the printouts aren't the same so perhaps
the tests have changed too.
regards, Göran
-----------------------------------------------
"Below is mono 0.28 running the Benchmark previously compiled using
#St."
C:\SharpSmalltalk\Source\Examples>mono Benchmarks.exe
18264840 bytecodes/sec; 834786 sends/sec
Starting benchmarks with repetition count = 16000.
1000s time 1000s of
itera- sec- iterations slop-
tions onds per sec stones explanation
3808 2.144 1776 0.269109000452284 add integers
544 0.41 1327 5.52845528455284 add floats
960 0.16 6000 6.80272108843537 access strings
320 0.181 1768 5.02260170768458 create objects
160 0.16 1000 9.34579439252336 copy objects
480 0.18 2667 6.27450980392157 perform selectors
896 0.491 1825 2.52050725208448 evaluate blocks
640 0.32213667215772 1986 3.57840613185554 geometric
mean
Benchmarks complete.
Starting benchmarks with repetition count = 5.
time in smop-
seconds stones explanation
2.514 6.2788385043755 generating fractonaccis
0.52 10.7980769230769 generating primes
2.704 5.71560650887574 generating strings
1.032 5.65406976744186 forming sets
1.742 14.7502870264064 sorting strings
1.44750685946015 7.97792478076974 geometric mean
Benchmarks complete.
---------------------------------------------------
"Below is running Benchmark using .NET 1.1"
C:\SharpSmalltalk\Source\Examples>Benchmarks.exe
49928103 bytecodes/sec; 6900998 sends/sec
Starting benchmarks with repetition count = 16000.
1000s time 1000s of
itera- sec- iterations slop-
tions onds per sec stones explanation
3808 0,200288 19013 2,8807002764504 add integers
544 0,0200288 27161 113,170368003408 add floats
960 0,050072 19172 21,737405618902 access strings
320 0,0300432 10651 30,2594566854033 create objects
160 0,0400576 3994 37,3294232006845 copy objects
480 0,200288 2397 5,63893875172692 perform selectors
896 0,0400576 22368 30,8947380964781 evaluate blocks
640 0,0569353838041144 11234 20,2463874997436 geometric
mean
Benchmarks complete.
Starting benchmarks with repetition count = 5.
time in smop-
seconds stones explanation
0,6909936 22,8439163546522 generating fractonaccis
0,1802592 31,1495890362323 generating primes
0,75108 20,577035735208 generating strings
0,75108 7,76881290941045 forming sets
0,7110224 36,1381019782218 sorting strings
0,549193550571352 21,0273788401325 geometric mean
Benchmarks complete.
----------------------------------------------------
"0 tinyBenchmark (3 times) using Win32 VM 3.6.2, 3.7a-5548"
'125613346 bytecodes/sec; 4026448 sends/sec'
'125244618 bytecodes/sec; 4019019 sends/sec'
'125000000 bytecodes/sec; 4030172 sends/sec'
"SmopstoneBenchmark run (same VM, image)"
Starting benchmarks with repetition count = 1.
time in smop-
seconds stones explanation
0.499 6.32665330661323 generating fractonaccis
0.037 30.35135135135135 generating primes*
0.067 16.28358208955224 generating and parsing streams
0.187 16.52941176470588 generating strings
0.048 24.3125 forming sets
0.16 32.11875 sorting strings
0.264 21.2159090909091 sorcerer's apprentice*
0.1247048670491762 18.8836979394353 geometric mean*
Benchmarks complete.
*** Caution ***
2 test of this benchmark (marked at '*') is intended to test the
efficiency
of recursively calling a block, that it isn't supported by this VM.
So the result would be fairly pointless.
"SlopstoneBenchmark run (same VM, image)"
Starting benchmarks with repetition count = 16000.
1000s time 1000s of
itera- sec- iterations slop-
tions onds per sec stones explanation
3808 0.129 29519 4.47263330984261 add integers
544 0.222 2450 10.21021021021021 add floats
960 0.042 22857 25.91512795594428 access strings
320 0.212 1509 4.28816466552316 create objects
160 0.102 1569 14.66006963533077 copy objects
480 0.107 4486 10.55525013743815 perform selectors
896 1.243 721 0.995630780992342 evaluate blocks
640 0.1659031767327073 3855 6.94824454628703 geometric
mean
Benchmarks complete.
More information about the Squeak-dev
mailing list
|