[TIMOB-20316] Windows: Make use of an LRU cache for cached property values
GitHub Issue | n/a |
---|---|
Type | Story |
Priority | Medium |
Status | Resolved |
Resolution | Won't Do |
Resolution Date | 2020-06-30T14:48:51.000+0000 |
Affected Version/s | Release 5.1.0 |
Fix Version/s | n/a |
Components | Windows |
Labels | n/a |
Reporter | Kota Iguchi |
Assignee | Christopher Williams |
Created | 2016-02-02T17:51:50.000+0000 |
Updated | 2020-06-30T14:48:52.000+0000 |
Description
Kota made great strides in eliminating a large source of memory hogging going on: storing all constant property values in fields of the enclosing type. We'd not only store them for the class definition but also for every instance! Now that we store them in an unordered_map and generate them on-demand they're only cached once per class. But it'd be a good improvement to move to something like an LRU cache to evict older constants out of the in-memory cache if we ever need to free some memory.
It'd be good to have more details on just how much memory these are taking up and what the speed/perf overhead of always generating them on-demand would be (or if that'd even be feasible whether the constants would be considered equal when regenerated).
https://github.com/appcelerator/HAL/pull/61
[~kota] It looks like https://github.com/appcelerator/titanium_mobile_windows/pull/576 didn't get merged? Does this ticket need to be moved out of 5.4.0?
Right. Reopened and moved out of 5.4.0.