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