flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: describeType still used in many places in SDK
Date Thu, 10 Oct 2013 18:58:20 GMT
Sounds like it is worth doing, but let's discuss at the next level of
detail.  

What was the test, just the call to describeType vs describeTypeJSON?
IIRC, the XML format is such that you may use the ".." expression to grab
the superclass's set of a particular thing of interest, and in JSON you
can't so you'd have to set up a loop to grab every <accessor> tag.

In looking at BindabilityInfo, it doesn't appear to use ".." so I think
switching here would be safe.

It may not be safe to change DescribeTypeCache.  There might be other
third-party code relying on XML there.

Same for ObjectUtil, unless you can do it in a way that doesn't change the
output format.

And I haven't looked, but I'll bet most other places are pretty
self-contained and are safe to switch.

Good luck,
-Alex

On 10/10/13 11:44 AM, "Maurice Amsellem" <maurice.amsellem@systar.com>
wrote:

>describeTypeJSON has access control flags:
>INCLUDE_BASES | INCLUDE_INTERFACES | INCLUDE_VARIABLES |
>INCLUDE_ACCESSORS | INCLUDE_METHODS | INCLUDE_METADATA |
>INCLUDE_CONSTRUCTOR | INCLUDE_TRAITS | HIDE_OBJECT| USE_ITRAITS;
>
>For the tests, I have using all the flags, to be equivalent with former
>describeType.
>
>So it could be even better if you only need some of the reflection info...
>
>Maurice 
>
>-----Message d'origine-----
>De : Maurice Amsellem [mailto:maurice.amsellem@systar.com]
>Envoyé : jeudi 10 octobre 2013 20:37
>À : dev@flex.apache.org
>Objet : RE: describeType still used in many places in SDK
>
>(EDITED: added new lines):
>
>I just did some benchmarks on UI and non UI classes (run several times
>each test, the results are consistent) :
>
>
>[trace] [Chrono: [class Button] descripeType x1000] duration= 11.123 s
>
>[trace] [Chrono: [class Label] descripeType x1000] duration= 12.064 s
>
>[trace] [Chrono: [class EntityMosaic] descripeType x1000] duration= 1.776
>s 
>
>[trace] [Chrono: [class ApplicationViewBase_P] descripeType x1000]
>duration= 13.977 s
>
>_________
>
>[trace] [Chrono: [class Button] descripeTypeJSON x1000] duration= 3.449 s
>
>[trace] [Chrono: [class Label] descripeTypeJSON x1000] duration= 3.686 s
>
>[trace] [Chrono: [class EntityMosaic] descripeTypeJSON x1000] duration=
>0.486 s 
>
>[trace] [Chrono: [class ApplicationViewBase_P] descripeTypeJSON x1000]
>duration= 4.033 s
>
>So descripeTypeJSON is roughly 3.5 time faster.
>
>I think the optimization is worth it, especially on UI classes
>reflection. 
>WDYT?
>
>Maurice
>
>-----Message d'origine-----
>De : Alex Harui [mailto:aharui@adobe.com] Envoyé : jeudi 10 octobre 2013
>19:49 À : dev@flex.apache.org Objet : Re: describeType still used in many
>places in SDK
>
>I wouldn't bother.
>
>On 10/10/13 10:44 AM, "Maurice Amsellem" <maurice.amsellem@systar.com>
>wrote:
>
>>That may sound like a dumb question, but since Apache Flex only
>>supports FP 10.2 and beyond, do we even need to make the check for 10.1 ?
>>
>>Maurice
>>
>>-----Message d'origine-----
>>De : Michael A. Labriola [mailto:labriola@digitalprimates.net]
>>Envoyé : jeudi 10 octobre 2013 19:14
>>À : dev@flex.apache.org
>>Objet : RE: describeType still used in many places in SDK
>>
>>>Before we switch to it, we have to be absolutely sure of when it was
>>>first supported.  I wouldn't want to break our Flash version
>>>compatibility range.  But otherwise, I have no objections if you want
>>>to switch to it.
>>
>>If it helps, in my code, I am checking for FP10.1 or higher which is
>>when I switch to describeTypeJSON instead of the original. It's in
>>avmplus
>>
>>There is a bug filed for Tamarin in BugZilla to have in documented as
>>of 3/21/2011. [1]
>>
>>Mike
>>
>>[1] https://bugzilla.mozilla.org/show_bug.cgi?id=643455
>


Mime
View raw message