You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: fix JFR table - explain ValueIterator on request vs response path
The c16 PR showing HashMap\ is from the request-sending
path (ReactorNettyClient.bodySendDelegate iterating request headers),
NOT the response-side asMap() iterator we eliminated. Added clarifying
note and removed the per-config ValueIterator column (too noisy).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: sdk/cosmos/azure-cosmos/benchmark-results/PR-DESCRIPTION.md
+26-24Lines changed: 26 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -99,30 +99,32 @@ GC behavior is identical between branches. At single-tenant scale with an 8 GB h
99
99
100
100
#### JFR Allocation Comparison -- All Configs
101
101
102
-
`ObjectAllocationSample` comparison for the key targeted class `HashMap$ValueIterator` and aggregate allocation share of all 9 targeted classes. JFR uses statistical sampling so per-config numbers have inherent noise, but the directional trends are consistent.
`ObjectAllocationSample` comparison for aggregate allocation share of all 9 targeted classes. JFR uses statistical sampling so per-config numbers have inherent noise, but the directional trends are consistent.
103
+
104
+
> **Note on `HashMap$ValueIterator`**: This PR eliminates the **response-side**`HttpUtils.asMap()` iterator (creating throwaway HashMap copies of response headers). A separate `HashMap$ValueIterator` still exists on the **request-sending side** (`ReactorNettyClient.bodySendDelegate` iterating request headers to write to the wire) -- this is expected and not targeted by this PR. JFR may sample either call site, so occasional non-zero values in the PR column reflect the request-side iterator, not a regression.
> **Note on JFR sampling noise**: `ObjectAllocationSample` is a statistical sampler -- individual per-config percentages can swing +/-5pp between runs. The consistently observable patterns are:
128
130
> 1.**`HashMap$ValueIterator` is eliminated** in most configs (the `asMap()` round-trip is removed)
0 commit comments