Details
-
Improvement
-
Resolution: Unresolved
-
Major - P3
-
None
-
None
-
Service Arch
Description
We use a custom memory layout for our SharedBuffer objects, which reserve a few bytes at the beginning of each contiguous memory region for metadata (e.g., the capacity of the buffer). As a result, we cannot have SharedBuffer own the memory allocated by gRPC to read from a server stream. This requires an additional heap allocation and memory copy on the critical path.
We can avoid the copy by either changing the layout of the byte-array sent through gRPC streams, or modify SharedBuffer to accepts raw buffers.
Attachments
Issue Links
- is related to
-
SERVER-74012 Generate code for MongoDB gRPC service
-
- Closed
-