On Tue, Apr 5, 2011 at 12:09 PM, Igor Stasenko <[email protected]> wrote:
> On 5 April 2011 11:33, Mariano Martinez Peck <[email protected]> > 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? > > Only that one. For #== I got 4.3. And doing both together (#class and #==) I got 9.05% :( And removing the #class optimization in a Interpreter VM gives me almost as in cog: 4.7% maybe I am doing something wrong... > > Cheers > > > > Mariano > > > > > > > > On Mon, Mar 28, 2011 at 11:08 AM, Camillo Bruni <[email protected]> > > 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. > > -- Mariano http://marianopeck.wordpress.com
