help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] Re: Benchmarks


From: Paolo Bonzini
Subject: [Help-smalltalk] Re: Benchmarks
Date: Mon, 14 Feb 2011 12:04:51 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Lightning/1.0b3pre Mnenhy/0.8.3 Thunderbird/3.1.7

On 02/14/2011 11:51 AM, Gwenaël Casaccio wrote:
 4) Now here comes the problem:
 =======================

 SmallInteger [
   foo: anInteger time: aTimeInteger [
     anInteger>  0 ifTrue: [
       ^ self  foo: anInteger - 1 time: aTimeInteger
     ].

     ObjectMemory quit.
   ]
 ]

You're calling this with anInteger = 90000, and in this case I do expect GC to be responsible for bad performance.

However, the numbers should be very different for, say, a depth of 50 like in your microbenchmark

  (Time millisecondsToRun: [ 1000000 timesRepeat: [
     5 recursionWithReturn: 50 ] ]) printNl.

How do gst/cog/squeak compare in this case?

Also, your benchmarks are missing one very important case, namely array access. I believe this is the cause of the slowdown in the bytecode benchmark, especially since you proved that everything else is faster. :) This cannot be helped really, because it's due to the object table.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]