[Laszlo-dev] [UPDATED] For Review: Change 20070827-maxcarlson-0 Summary: Inline setAttribute
P T Withington
ptw at openlaszlo.org
Wed Aug 29 12:43:09 PDT 2007
Ok, groovy. Check it in!
On 2007-08-29, at 15:16 EDT, Max Carlson wrote:
> P T Withington wrote:
>> So, you no longer want to restrict this optimization to the LFC?
>
> No, this optimization is restricted to the LFC. Sorry, the change
> notes should have reflected that.
>
>> I'm a little leery of the change to use a counter for the UUIDs.
>> That seems risky.
>
> I'll change it back. A counter seemed less risky to me, because a
> unique ID is always guaranteed. A random number generator has a
> tiny risk of causing collisions.
>
> In any case, Don's work will take care of the long UUIDs.
>
>> The alternative is to wait for Don's work to refactor the compiler
>> so this transformation comes before the analyzer phase that
>> rewrites all locals compactly.
>> Bottom line: Check this in if you believe the performance
>> improvement is worth it.
>
> I think it is, for the LFC only. Animators will benefit in
> particular.
>
>> On 2007-08-27, at 19:42 EDT, Max Carlson wrote:
>>> Change 20070827-maxcarlson-0 by maxcarlson at plastik on 2007-08-27
>>> 16:33:13 PDT
>>> in /Users/maxcarlson/openlaszlo/wafflecone
>>> for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone
>>>
>>> Summary: Inline setAttribute
>>>
>>> Bugs Fixed:
>>> LPP-4513 'Compiler Improvements to address performance'
>>>
>>> Technical Reviewer: ptw, max
>>> QA Reviewer: henry
>>> Doc Reviewer: (pending)
>>>
>>> Details:
>>> CodeGenerator.java, JavascriptGenerator.java - Inline calls to
>>> setAttribute() when called as the script compiler, unless
>>> #pragma
>>> "passThrough=true". UUID generator uses integer counter to
>>> cut down on
>>> size.
>>>
>>> LzContextMenu.js, LzTextSprite.js, LzInputTextSprite.js,
>>> embednew.js, iframemanager.js - Call Lz.__setAttr() instead of
>>> div.setAttribute(...). Add __setAttr() method to be used so
>>> div.setAttribute() isn't inlined.
>>>
>>> Tests:
>>> All demos run as before (but faster in swf and dhtml).
>>> smokecheck
>>> also runs and passes now.
>>> http://localhost:8080/wafflecone/my-apps/copy-of-hello.lzx is
>>> 62k
>>> compressed in dhtml (was 60k), 92k compressed in swf7 (was
>>> 89k) and
>>> 93k compressed in swf8 (was 90k). This change will benefit
>>> animators
>>> and alignment constraints now. We can always manually inline/
>>> optimize to
>>> bring the size down later. I recommend taking this for now.
>>>
>>> Files:
>>> M WEB-INF/lps/lfc/kernel/dhtml/LzContextMenu.js
>>> M WEB-INF/lps/lfc/kernel/dhtml/LzTextSprite.js
>>> M WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js
>>> M WEB-INF/lps/server/src/org/openlaszlo/sc/
>>> JavascriptGenerator.java
>>> M WEB-INF/lps/server/src/org/openlaszlo/sc/CodeGenerator.java
>>> M lps/includes/source/embednew.js
>>> M lps/includes/source/iframemanager.js
>>>
>>> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20070827-
>>> maxcarlson-0.tar
>
> --
> Regards,
> Max Carlson
> OpenLaszlo.org
More information about the Laszlo-dev
mailing list