Writer: integer cascade choices differ from Rust's on real columns (run-end, nullable bit-packing), 1.2–1.8x larger
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 30/100
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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).
- Linguagem predominante
- Java
- Estrelas
- 3
- Forks
- 2
- Merge médio
- 9h 55min
- PRs com merge (30d)
- 126
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de dfa1/vortex-java
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
dfa1/vortex-java#636 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
dfa1/vortex-java#660 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
dfa1/vortex-java#657 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 70/100
dfa1/vortex-java#655 ·
Mantenedores costumam responder em até 1 dia
-
Writer: string columns written as per-chunk dicts where Rust uses its dict layout (up to 2x larger)Abertaperf
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 30/100
dfa1/vortex-java#650 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de dfa1/vortex-java
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 63/100
wpilibsuite/SystemcoreTesting#446 ·
Mantenedores costumam responder em até 1 dia
-
frontend quality-assurance
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
Paul-Austin-Oswego-CSC480-HCI521/gift-app#212 ·
Mantenedores costumam responder em até 1 dia
-
Mend: dependency security vulnerability
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
Docs: AGENTS.md agent/ module-map bullet missing AgentWriteRules — the deny-by-default write gateAbertadocumentation hermes-queue
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 84/100
chrisalunlloyd2-sudo/mindpalace#334 ·
Mantenedores costumam responder em até 1 dia
-
needs-area-label
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 2 dias