-
Notifications
You must be signed in to change notification settings - Fork 2.3k
[Nested] Optimize List Type in list_value
#17063
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR! LGTM - we can't really get around doing a copy here since we have to merge the data of multiple lists into one list.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, looks good! Just left two nits. :)
Thanks for your feedback, I've implemented your suggestions and should be good to go now :) |
Thanks! |
[Nested] Optimize List Type in `list_value` (duckdb/duckdb#17063) Re-enable Avro on core (duckdb/duckdb#17072) Fix httpfs patches: avoid `git log` since might contain unsanitised `error` word (duckdb/duckdb#17075)
[Nested] Optimize List Type in `list_value` (duckdb/duckdb#17063) Re-enable Avro on core (duckdb/duckdb#17072) Fix httpfs patches: avoid `git log` since might contain unsanitised `error` word (duckdb/duckdb#17075)
[Nested] Optimize List Type in `list_value` (duckdb/duckdb#17063) Re-enable Avro on core (duckdb/duckdb#17072) Fix httpfs patches: avoid `git log` since might contain unsanitised `error` word (duckdb/duckdb#17075)
[Nested] Optimize List Type in `list_value` (duckdb/duckdb#17063) Re-enable Avro on core (duckdb/duckdb#17072) Fix httpfs patches: avoid `git log` since might contain unsanitised `error` word (duckdb/duckdb#17075)
In #12468
list_value
was optimized for primitive types. This PR aims to build on that and optimize list types.For example:
Large Tables
Large Lists
Nested Lists
While these results show improvements, the timings are still slower than desired. Profiling suggests that most of the time is spent in VectorOperations::Copy. Any feedback or suggestions on how to further improve performance would be greatly appreciated!
Some additional tests and benchmarks have also been included.