ArrowBuf copying from GetReadableBuffer causes slowness
- Ngôn ngữ chính
- Java
- Star
- 94
- Fork
- 152
- Merge trung bình
- 3 ngày 16 giờ
- Pull request đã merge (30 ngày)
- 11
Mô tả
### Describe the usage question you have. Please include as many useful details as possible.
I'm using Arrow Flight and discovered an extra copy action while testing performance impact.
` ReadableBuffer readableBuffer = fastPath ? getReadableBuffer(stream) : null;
if (readableBuffer != null) {
readableBuffer.readBytes(buf.nioBuffer(0, size));
} `
The flame graph shows that after enabling zero_copy, ArrowBuf copying from GetReadableBuffer causes slowness.
Why does this copy occur?
Or is it because arrowbuf needs to manage its own memory, so the ownership must be transferred from netty?
### Component(s)
FlightRPC
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với fast path của FlightRPC được hiển thị trong issue, theo dõi getReadableBuffer qua ReadableBuffer.readBytes đến đích ArrowBuf, đồng thời so sánh với flame graph được báo cáo. Xác định xem bản sao có cần thiết cho việc sở hữu hoặc quản lý bộ nhớ hay không, và ghi lại nguyên nhân hoặc một cách được hỗ trợ rõ ràng để tránh nó.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- api, performance
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100