[MDSAL-377] Improve LazyDataObject augmentation cache locking Created: 13/Oct/18  Updated: 15/Oct/18  Resolved: 15/Oct/18

Status: Resolved
Project: mdsal
Component/s: Binding runtime
Affects Version/s: None
Fix Version/s: Fluorine SR1, 3.0.2

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


 Description   

LazyDataObject's full augmentation resolution via augmentations() performs unnecessary lock operation to guard creation of further LDOs, which are quite fast to build in order to not compute the same thing twice even under contended initialization. Due to the nature of LDO use, contention on initialization quite unlikely and computation of augmentations is not very expensive. We can therefore relax the synchronization into a compare-and-swap resync, which is much lighter-weight operation than locking.


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