[
https://issues.apache.org/jira/browse/FLEX-22220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Justin Mclean updated FLEX-22220:
---------------------------------
Labels: performance (was: )
> BindabilityInfo and DescribeTypeCache Memoization
> -------------------------------------------------
>
> Key: FLEX-22220
> URL: https://issues.apache.org/jira/browse/FLEX-22220
> Project: Apache Flex
> Issue Type: Improvement
> Components: Data Binding
> Affects Versions: Adobe Flex SDK 4.5 (Release)
> Environment: Affected OS(s): All OS Platforms
> Affected OS(s): All OS Platforms
> Browser: Safari
> Language Found: English
> Reporter: Adobe JIRA
> Labels: performance
>
> Steps to reproduce:
> 1. Watch DescribeTypeCache rack up time in parsing xml of classes, which
> don't change at runtime.
> 2.
> 3.
>
> Actual Results:
> Many of the Binding-related functions involved in initialization are largely
> methods that calculate values that aren't dependent on state. This means
> that they can be calculated pre-compile-time, in some sort of generated
> class, thereby increasing startup time performance. There is no need to
> calculate these values before hand.
> Specifically, in mx.binding.BindabilityInfo, when
> mx.binding.PropertyWatcher-and-related call Watcher#updateParent, they
> calculate the DescribeTypeCache, and the events for the class, by processing
> the metadata from the class. This information does not change at runtime.
> It can and should be either processed by the compiler, which could spit out a
> generated class of the pre-computed values, or the properties in these
> classes that are "private" and that store the values
> (BindabilityInfo#typeDescription, BindabilityInfo#classChangeEvents,
> BindabilityInfo#childChangeEvents, and DescribeTypeCache#typeCache) should be
> made "mx_internal". This would allow us to precompute them using our own
> methods if it seems too much work to solve this problem with the compiler.
> There are easily 30+ classes that must go through this "DescribeType" phase
> in an application, and this requires significant resources to calculate. It
> should be precomputed, or the properties should be "mx_interal" so we can
> figure out our own means for adding the precomputed values to the cache.
> Please let me know if you could make this change immediately. It should only
> take 5 minutes to make the properties mx_internal, and no harm would be done.
> Thanks so much.
>
> Expected Results:
> mx_internal properties, so we can precalculate values and add them to the
> cache as a mixin.
>
> Workaround (if any):
> There is no work around. This should be a very simple enhancement and should
> be easily included in the Flex 4 release.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira