On Tue, Jul 9, 2013 at 11:08 PM, Jérémy Zurcher <jer...@asynk.ch> wrote:
> On Tuesday 09 July 2013  13:40, Tom Hacohen wrote :
>> On 09/07/13 03:55, Carsten Haitzler (The Rasterman) wrote:
>> > On Mon, 08 Jul 2013 18:00:15 +0100 Tom Hacohen <tom.haco...@samsung.com> 
>> > said:
>> >
>> >> Hey guys,
>> >>
>> >> The hero Jeremy Zurcher has been playing around and looking for ways to
>> >> improve Eo and address all the issues that have been raised by everyone.
>> >> We revisited some old ideas, tried some new ideas and changed our
>> >> compromises and preferences to better suit our needs (followed by the
>> >> extensive trial period). We think we made things better and we'd like to
>> >> hear your thoughts and suggestions.
>> >>
>> >> The code resides in devs/tasn/eo2. The differences are not major
>> >> usage-wise (i.e eo_do), but are major internally and class-creation-wise.
>> >> There's an example of the usage of the new API in the eo2test directory.
>> >> The existing code-base hasn't been changed to use the new API, so
>> >> there's not a lot to review.
>> >> Eo2 is not complete, we'd like to hear your thoughts before finishing
>> >> things.
>> >>
>> >> Major changes:
>> >> 1. No more va_args, good ol' normal functions instead.
>> >
>> > good and bad. good as varags is a bit unwieldy. bad as in more symbols and
>> > either more function calls inlined in app code OR more code in general 
>> > inlined
>> > (with macros or inline funcs). end result? unknown until we try. also 
>> > another
>> > bad... work to port the existing eo code over. without full details, 
>> > amount of
>> > work unknown. (missing git tree).
>>
>> I think it's better to inline those in the app, yeah. I don't think a
>> function call + an if are much to worry about.
>> Amount of work is known: everything needs to be done. This is a draft,
>> not even a complete solution. This example doesn't handle eo_do_super
>> and the eo_data_scope_get.
>
> I pushed some stuff in devs/tasn/eo2,
> nothing inlined (real method call performed),
> basic eo_data_scope_get support (+ real eo fct call)

I think that in your design eo2_func_get need to return the klass
somehow or it won't work.

> and a stupid benchmark

Ok, I pushed my own benchmark and fixed Eo.h compilation with C++. The
benchmark is half done has the event can't be tested as those function
are eo_do for the moment. Never the less, eo_do2 does create an around
25% slow down in that benchmark. I have yet to understand why and what
is going on. I tried to play with pure and const __attribute__, but to
no change. Please check what is going on (Also with latest change, I
don't think the compiler can optimize the request to
_eo_data_scope_get anymore).

Signal/Benchmark: eo call: OK
  Benchmark: callback loop: 18.260155ns per round: OK
Signal/Benchmark: eo2 call: OK
  Benchmark: callback loop: 23.235780ns per round: OK
--
Cedric BAIL

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&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