Writer: integer cascade choices differ from Rust's on real columns (run-end, nullable bit-packing), 1.2–1.8x larger

Đang mở
#651 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
30/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
java
Lĩnh vực
data

Hướng nghiên cứu

The payload gives six columns with Rust and Java sizes and encoding trees, and each one is a reproducer. Start with one column, such as RefererRegionID, and use the encoding-tree interop tests, which take a column shape and compare trees, to see where the Java cascade chooses run-end or bit-packing differently. Done means the Java tree matches Rust's for that shape and the output size is close to Rust's. Confirm first whether the gap comes from #649 or from chunk count.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

perf

vortex-java's Parquet import vs the vortex-jni-written file, data bytes; the trees are each side's two most common chunk encodings:

dataset column type Rust Java Rust tree Java tree
clickbench-hits RefererRegionID I32 68.1 MB 124.7 MB (1.83x) 171x bitpacked(patches), 12x runend 274x bitpacked(patches), 39x runend
clickbench-hits FUniqID I64 255.4 MB 358.3 MB (1.40x) 289x bitpacked, 176x primitive 365x runend(for(bitpacked), primitive)
clickbench-hits UserID I64 274.5 MB 366.4 MB (1.33x) 433x primitive, 116x runend(bitpacked, primitive) 367x runend(for(bitpacked), primitive)
bi-generico Hora_Pagina I32? 207.3 MB 269.1 MB (1.30x) 158x primitive, 109x bitpacked 371x bitpacked(bool)
bi-generico Disco I16? 92.8 MB 119.9 MB (1.29x) 159x runend(for(bitpacked), bitpacked) 183x bitpacked(bool)
bi-generico Codigo I32? 249.8 MB 289.4 MB (1.16x) 272x primitive 263x bitpacked(patches)

Java picks run-end where Rust keeps bit-packed/primitive (and vice versa), and its nullable chunks pay a vortex.bool validity on every bit-packed chunk. Likely several sampling/estimate differences in the cascade; each column above is a reproducer to bisect (the encoding-tree interop tests take a column shape and compare trees). Some of RefererRegionID may be #649 or chunk count (Java writes more chunks of these columns).

Ngôn ngữ chính
Java
Star
3
Fork
2
Merge trung bình
9 giờ 47 phút
Pull request đã merge (30 ngày)
128

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của dfa1/vortex-java

Tất cả issue của dfa1/vortex-java

Issue tương tự

Thêm issue về Java

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.