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