-
Notifications
You must be signed in to change notification settings - Fork 4k
Open
Description
Describe the enhancement requested
This is a follow up of #36059 (comment). There are many cases where we use a MemoTable, e.g. set lookup functions, vector hash functions, the count_distinct aggregate function, dictionary unification etc. Their performance can be boosted with a SwissTable.
We can either:
- Use an existing swiss table library. This requires some work on dependency management. I recommend
absl::flat_hash_mapsince they are the original author of swiss tables and we already hasabslin our 3rd party toolchain. - Write one by ourselves. The current one in
acerois too customized for the join node and it seems hard to extract a general hashtable from it. If I were to write one I would probably follow the structure ofabsl's and replace things like memory management and bit tweaking with Arrow ones.
What do you think? @pitrou @westonpace
Component(s)
C++