For got to provide a link to the performance comparison site
http://jsperf.com/function-call-vs-inline
Sarvi
On Tuesday, October 22, 2013 10:21:21 PM UTC-7, Sarvi Shanmugham wrote:
>
>
>
> 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.