On 10/17/07, Robert Klemme <shortcutter / googlemail.com> wrote:
> 2007/10/17, Joel VanderWerf <vjoel / path.berkeley.edu>:
> > Sylvain Joyeux wrote:
> > >> I'm not sure whether you are familiar with Benchmark#bmbm which does a
> > >> rehearsal - personally I rather not switch off GC since in realistic
> > >> situations GC time belongs into the mix.  But results are rather
> > >> similar:
> > > Sure. GC does belong to the mix. Now, if GC is enabled you are not able to
> > > compare anything. Let's assume that GC runs during 'array init', you will
> > > say 'hey, struct init is faster'. Now, if GC runs during 'struct init' the
> > > result may change ...
>
> But you have a *lot* invocations and it's highly unlikely that GC runs
> during every init. On the other hand, if you allocate a lot of memory
> from OS that may slow things down. And this will happen without GC.
>
> Also, IMHO cost of memory GC overhead is also part of the runtime
> performance.  If you compare two approaches and one allocates a lot
> more memory than the other, then GC times belong in the measurement
> because in a real application that approach will also lead to
> increased GC overhead.

Spot on, IMHO

-- 
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/