lance-format/lance
Voir sur GitHubAllow dictionary encoding to support more fixed width types
Open
#5 004 ouverte le 20 oct. 2025
good first issue
Métriques du dépôt
- Stars
- (6 582 stars)
- Métriques de merge PR
- (Merge moyen 6j 1h) (219 PRs mergées en 30 j)
Description
Currently the dictionary encoding in 2.1 only applies to some 128-bit fixed-width types. I think this was a combination of a few things:
- At the time, we were not bit-packing indices, and so applying dictionary encoding to smaller types was unlikely to be beneficial
- Estimating cardinality on all columns was expensive
- TPC-H data has a lot of 128-bit decimals that benefit from dictionary encoding so there was an outsized (and unrealistic) benchmarking gain to focusing on 128-bit types.
However, we should at least be considering dictionary encoding for 64-bit types and maybe even 32-bit types.