Replace Stopwatch in AsyncState with a lightweight approach
Description
Currently, every K/V operation is allocating two Stopwatch objects on the heap. One is used to track the run time of the operation and needs sub-millisecond resolution. However, the other is used purely to identify AsyncState objects which are orphaned and for which a response has never been received, and high resolution is not required.
Environment
None
Gerrit Reviews
None
Release Notes Description
None
Activity
Show:
Fixed
Pinned fields
Click on the next to a field label to start pinning.
Currently, every K/V operation is allocating two Stopwatch objects on the heap. One is used to track the run time of the operation and needs sub-millisecond resolution. However, the other is used purely to identify AsyncState objects which are orphaned and for which a response has never been received, and high resolution is not required.