Benching #Smalltalk vs Squeak
ducasse
ducasse at iam.unibe.ch
Mon Nov 24 10:14:07 UTC 2003
Hi goran
what is SharpSmalltalk: the Smalltalk of John?
Stef
On Lundi, nov 24, 2003, at 09:51 Europe/Zurich,
goran.krampe at bluefish.se wrote:
> 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
|