On Tuesday, October 22, 2013 9:42:19 PM UTC-7, Kees Bos wrote:
>
> On Tue, 2013-10-22 at 20:29 -0700, Sarvi Shanmugham wrote: 
> > I tried to hack a bit to simplify the generated code to see how it can 
> > be done and this is what I got. 
> > I left the $ alone for the reasons Lex mentioned. Turned the 
> > dictionary accesses into object notation and 
>
> That looks cleaner, but inhibits the use of closure compiler, since that 
> will mangle object attributes (at high optimization). 
>
would you refering me to something that explains this? I am relative noob 
with this stuff.


> > reduced some of the repetitive code into functions that do the same 
> > code. 
> > From what I tested of inlining, JITs should take care of inlining 
> > these with no performance impact. 
> > and it was relatively simple, repetitive but sizable changes to the 
> > translate_proto.py code to do this. 
>
> Did you do performance comparisons, on different engines, probably 
> (arguably) including IE8 for those that still use XP and refuse to 
> install something different? It used to matter a lot whether you use 
> function calls or inlined (<test>?<cond1>:<cond2>). 
>
expalined below. 

>
>
> > /* start module: test1 */ 
> > $pyjs.loaded_modules.test1 = function (__mod_name__) { 
> >         if ($pymdecorate(this,'test1',__mod_name__)) return $m 
> > 
> > 
> > 
> >         $m.hello = function(i) { 
> >                 return multiply(multiply(multiply(i,i),2),25); 
> >         }; 
> >         $pyfdecorate($m.hello,'hello',0,[null,null,['i']]); 
> > 
> > 
> >         return this; 
> > }; /* end test1 */ 
> > 
> > 
> > 
> > 
> > /* end module: test1 */ 
> > The result would from what I can see would be much simpler, readable 
> > and a lot less code 
> > Would something like this be accepted if I work on finishing this? 
>
> Depends... on the speed of the result. Since this is only meant to 
> generate simpler/cleaner/smaller code (which are for _me_ minor issues 
> compared to speed), this might not be way to go in _my_ opinion. 
>
> My guess (when I see this generated code) is that it will run about 5 
> times slower than what's currently generated (with --strict option). But 
> please, prove me wrong :-) 
>
I found this interesting site that measures exactly this :-)
Compare the Orange and Blue graphs for each browser for what we need here.
Every browser shows quite comparable performance, infact almost equal 
between inlining and using a function.
Except, now I hate IE even more, IE. Even the latest one sucks at this. 
:-)) 

Sarvi


>
> - Kees 
>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"Pyjs.org Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to