There are currently significant inefficiencies in the handling of memory buffers for large response bodies. When there are many large operations we are seeing significant Large Object Heap (LOH) allocations of byte arrays that are not pooled and reused. Given that the LOH is only garbage collected in Gen2, the cleanup is particularly rare and expensive.
This problem is most prevalent for operation responses > 1MB, though operation responses > 85KB can see some issues on the LOH. The problem is further exacerbated if a Snappy compression algorithm is wired up to the SDK.
Environment
None
Gerrit Reviews
None
Release Notes Description
None
100% Done
Activity
Show:
Fixed
Pinned fields
Click on the next to a field label to start pinning.
There are currently significant inefficiencies in the handling of memory buffers for large response bodies. When there are many large operations we are seeing significant Large Object Heap (LOH) allocations of byte arrays that are not pooled and reused. Given that the LOH is only garbage collected in Gen2, the cleanup is particularly rare and expensive.
This problem is most prevalent for operation responses > 1MB, though operation responses > 85KB can see some issues on the LOH. The problem is further exacerbated if a Snappy compression algorithm is wired up to the SDK.