On 09/07/13 15:08, Jérémy Zurcher 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) > and a stupid benchmark > > Intel(R) Core(TM)2 Duo CPU E7500@2.93GHz 64 bits > > CFLAGS="-O2" ./make.sh > > gcc: > EO : time 71 [ms] > EO2: time 67 [ms] > > clang: > EO : time 98 [ms] > EO2: time 54 [ms] >
Maybe clang inlined things anyway, and gcc has been less aggressive/smart. -- Tom. ------------------------------------------------------------------------------ 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