SwissTable: A High-Performance Hash Table Implementation

This page summarizes the projects mentioned and recommended in the original post on dev.to

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • go

    The Go programming language

    In 2022, ByteDance proposed an issue recommending that Golang adopt SwissTable for its map implementation. In 2023, Dolt published a blog post titled SwissMap: A Smaller, Faster Golang Hash Table, detailing their design of a swisstable, which garnered widespread attention. The Go core team is reevaluating the swisstable design and has added some related code in the runtime. With some free time during the holidays, let's delve deeper into the principles, compare it to the runtime map, and understand why it might become the standard for map implementation.

  • CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  • swiss

    Golang port of Abseil's SwissTable

    SwissTable's time complexity is similar to linear probing, while its space complexity is between chaining and linear probing. The implementation I've referenced is primarily based on dolthub/swiss.

  • concurrent-swiss-map

    A high-performance, thread-safe generic concurrent hash map implementation with Swiss Map.

    Currently, the official implementation of swisstable in Go is still under discussion, and there are a few community implementations like concurrent-swiss-map and swiss. However, they are not perfect; in small map scenarios, swisstable may even underperform compared to runtime_map. Nonetheless, the potential demonstrated by swisstable in other languages indicates that it is worth anticipation.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • [Std] An enhanced std library write with generics

    2 projects | /r/golang | 13 May 2022
  • Go streams (a look at what is possible with generics)

    3 projects | /r/golang | 18 Mar 2022
  • FYI: pkg.go.dev doesn't show packages with generics

    2 projects | /r/golang | 29 Dec 2021
  • [go1.18beata1] Bug while runnings package tests on generic code

    3 projects | /r/golang | 25 Dec 2021
  • Go Generics Facilitators

    6 projects | news.ycombinator.com | 22 Dec 2021

Did you konow that Go is
the 4th most popular programming language
based on number of metions?