Live data from Hacker News

A fast path for decoding fixed-length lists in Parquet

morling.dev

1–4 of 4 posts

Re: A fast path for decoding fixed-length lists in Parquet

#2
I ran into exactly this while profiling a Parquet-based vector index on DataFusion. The vectors all have a fixed dimension, but LIST decoding and rebuilding the Arrow arrays still showed up as a significant CPU cost. Have you looked at whether a similar fast path could be added to parquet-rs?

Re: A fast path for decoding fixed-length lists in Parquet

#3

I ran into exactly this while profiling a Parquet-based vector index on DataFusion. The vectors all have a fixed dimension, but LIST decoding and rebuilding the Arrow arrays still showed up as a significant CPU cost. Have you looked at whether a similar fast path could be added to parquet-rs?

I haven't looked at parquet-rs specifically, but I can't think of any reason why it couldn't implement this kind of optimization.

Re: A fast path for decoding fixed-length lists in Parquet

#4

I ran into exactly this while profiling a Parquet-based vector index on DataFusion. The vectors all have a fixed dimension, but LIST decoding and rebuilding the Arrow arrays still showed up as a significant CPU cost. Have you looked at whether a similar fast path could be added to parquet-rs?

I haven't looked at parquet-rs specifically, but I can't think of any reason why it couldn't implement this kind of optimization.

Thanks! I’ll take a closer look at parquet-rs and see if I can prototype a fast path for fixed-size, non-null lists.