[Pharo-project] Remove #class as a Compiler optimization

Igor Stasenko siguctua at gmail.com
Tue Apr 5 12:09:39 CEST 2011


On 5 April 2011 11:33, Mariano Martinez Peck <marianopeck at gmail.com> wrote:
> 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.
>
5% for #class message?
this is too much. or you also removed other optimized sends?

> Cheers
>
> Mariano
>
>
>
> 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
>> >>> example.
>> >>>
>> >>> 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]].
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Pharo-project mailing list