Skip to content

Unchained hashtable #4

@hbirler

Description

@hbirler

Hello! This is not an "issue" but I just found it cool that someone else also tried to implement the unchained hash table for the contest.

We started with a chaining hash table then tried the unchained one. The unchained one was only a couple percentage points faster and it was a bit close to the deadline so we decided to stick with the chaining hash table: https://github.com/umbra-db/contest-sigmod2025/blob/master/engine/op/Hashtable.hpp

So, the JOB queries are relatively small, and for many queries, the tables can fit into L1/L2/L3 caches. When that happens, instruction counts are often more important than memory layout as memory accesses will be fast. So, I would expect the builds for the unchained hash table to be noticeably slower than the builds of the chaining hash table. For probes, I would expect the unchained table to be always somewhat faster (and much faster with long chains and a lot of data that does not fit into caches). Also, the memory allocation strategy can also have a huge impact on hash table performance, sometimes even more so than the design of the table.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions