Details
-
Improvement
-
Status: Confirmed
-
Lowest
-
Resolution: Unresolved
-
None
-
None
-
None
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.
Attachments
Gerrit Reviews
| # | Subject | Branch | Project | Status | CR | V |
|---|---|---|---|---|---|---|
| 76975,4 | WIP: Populate augmentation cache on single access | master | mdsal | Status: NEW | 0 | +1 |