Hello,

On Fri, Aug 2, 2013 at 11:33 PM, Jérémy Zurcher <jer...@asynk.ch> wrote:
> On Friday 02 August 2013  03:42, Cedric BAIL wrote :
>> On Thu, Aug 1, 2013 at 2:03 PM, Jérémy Zurcher <jer...@asynk.ch> wrote:
>> > these where my numbers         before            and now
>> >
>> > simple inc() - 99999 calls
>> > calls/eo_do()  EO [ns]/call  - EO2 [ns]/call  -  EO2 [ns]/call
>> > #1              20               25                29
>> > #3              11               15                17
>> > #5               9               13                15
>> > #7               9               12                14
>> >
>> > overriden inc - 99999 calls
>> > calls/eo_do()  EO [ns]/call  - EO2 [ns]/call  - EO2 [ns/call
>> > #1              46               50                55
>> > #3              38               37                42
>> > #5              37               36                39
>> > #7              36               34                38
>>
>> Yes, I saw the slow down. I am wondering if we need the
>> eo2_hook_*do_{pre,post}. I think we could continue to have that
>> feature by using LD_PRELOAD on eo2_*do_{start,end}. That should lower
>> the unitary cost of eo_do.
>
> maybe better to have the tools, but not let them impact when not needed,
> LD_PRELOAD is good for that

I have removed the hook on start and end as we can rely on LD_PRELOAD
for those. What benchmark were you using for doing this comparison ?
With simplesignal.cc after my change I get :
eo_do : 17ns
eo2_do: 24ns
batch of eo2_do: 10ns

Will see if I can improve the second one.

>> I am also wondering why the overriden case get a 4ns/call increase
>> when the simple one get a 2ns/call increase.
>
> because the overriden func is called from the overriding one : 
> eo_do_super(obj, MY_CLASS, eo_inc());

Ok. Make sense then.

>> > could we shut them down on release ??
>>
>> I would prefer not as this make it impossible to do any analysis.
>>
>> > class functions and object functions differs from the param list:
>> >     _CLASS_FUNC have (const Eo_Class *klass, ...)
>> >           _FUNC have (Eo *objid, void *obj_data, ...)
>>
>> Yup, saw that, but I am still wondering what is the use case for class 
>> function.

> as there is no such class attributes …
>
> jeyzu@BigDaddy: core  $ ack -l eo_class_do efl/ elementary/
> efl/src/tests/eo/signals/signals_main.c
> efl/src/tests/eo/function_overrides/function_overrides_main.c
> efl/src/tests/eo/function_overrides/function_overrides_simple.c
> efl/src/tests/eo/function_overrides/function_overrides_inherit2.c
> efl/src/tests/eo/suite/eo_test_general.c
> efl/src/lib/eo/eo.c
> efl/src/lib/eo/Eo.h
>
> yes we can (class do)!!
> but we don't !?!

At least for myself, I don't see in which case I could use it, that's
why I was asking a concrete example :-)
-- 
Cedric BAIL

------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to