[MDSAL-378] Improve LazyDataObject augmentation cache population Created: 15/Oct/18  Updated: 15/Oct/18

Status: Confirmed
Project: mdsal
Component/s: Binding runtime
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Lowest
Reporter: Robert Varga Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

LazyDataObject's single-augmentation resolution takes advantage of existing cache, but if it is not present it will not populate it - and hence multiple accesses to the same augmentation always incur it being calculated. This can be improved by two-stage materialization, where we cache the first accessed augmentation and fully resolve augmentations when another augmentation is accessed. With this schema, repeated requests to the same augmentation will reuse a cached instance. This will slighty penalize two-augmentation cases, but will benefit three-and-more cases, as the next augmentations will already be resolved.

An alternative is to force full resolution even for single augments, because the single-entry caching does not provide negative response cache.


Generated at Wed Feb 07 20:09:39 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.