[Pharo-project] Remove #class as a Compiler optimization
Mariano Martinez Peck
marianopeck at gmail.com
Tue Apr 5 11:33:34 CEST 2011
So....I tried with running all tests of a PharoCore 1.3 and I've got this:
cog vm with optimization
Time to run all tests:116506
cog vm without optimization
Time to run all tests:121930
121930 - 116506 ----> 5424
((5424 * 100) / 116506) asFloat ---> 4.655554220383499
So...in Cog, running all test, there is an overhead of 4.6%
Do we want to pay it ?
I would...but I am all ears.
On Mon, Mar 28, 2011 at 11:08 AM, Camillo Bruni <camillo.bruni at inria.fr>wrote:
> >>> I don't care. I have it working for my "usage". This was just an
> >>> And don't compare #class with all the boolean methods like #ifNil: and
> >>> friends or the bytecodes for integer operations....I think #class is
> >> sent
> >>> far less times than those...
> >> Yes. and i predict that performance impact in macro benchmarks, where
> >> you running normal code
> >> (which not sending this message intentionally in a loop) will be at
> >> the noise level magnitude.
> > So...what about doing something more real...for example, run all the
> > testcases and compare time.
> > Wouldn't that be a good "benchmark" ?
> sounds already better. make sure to run it something like 100 times, get
> the average and the standard deviation. otherwise the results don't provide
> much information.
> > BTW, can I run all test from code? (not using the TestRunner UI)
> something like the following code should do it.
> TestCase allSubclasses do: [ :cls|
> cls isAbstract
> ifFalse: [cls run]].
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pharo-project