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.

Cheers

Mariano



On Mon, Mar 28, 2011 at 11:08 AM, Camillo Bruni <camillo.bruni@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