ClickHouse / ClickHouse/clickhouse-java

[client-v2] POJO serialization: Skipped fields still consume memory

Đang mở
#2,928 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
client-api-v2 performance
Ngôn ngữ chính
Java
Star
1.6k
Fork
636
Merge trung bình
2 ngày 23 giờ
Pull request đã merge (30 ngày)
29

Mô tả

### Description

Method `com.clickhouse.client.api.data_formats.internal.BinaryStreamReader#skipValue` internally calls `readValue` and does complete read and object creation. This may be critical when many `BigInteger` fields are skipped but still consume memory.

Expected that next evolution of the reader will have option to read or skip bytes from stream entirely.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu từ com.clickhouse.client.api.data_formats.internal.BinaryStreamReader#skipValue và kiểm tra cách nó ủy quyền cho readValue cũng như tiến stream. Hoàn thành khi các giá trị bị bỏ qua, bao gồm cả các trường BigInteger, không còn yêu cầu tạo toàn bộ đối tượng và reader vẫn được đặt đúng vị trí cho giá trị tiếp theo; thêm hoặc cập nhật các bài kiểm thử tập trung vào reader nếu cấu trúc kiểm thử xung quanh xác định được chúng.

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
backend
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
48/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.