How Swiss tables work in Go built-in map

(victoriametrics.com)

33 points | by valyala 3 days ago ago

3 comments

  • nasso_dev an hour ago

    swiss tables were invented by engineers working at google's zurich office, hence the name

    im surprised that go, a programming language also from google, wasn't using them!

    for an excellent talk on the development of swiss tables i highly recommend this talk by Matt Kulukundis at CppCon 2017: "Designing a fast, efficient, cache-friendly hash table, step by step" https://youtu.be/ncHmEUmJZf4

    • tialaramex 31 minutes ago

      Go is much older than Swiss Tables. Since the hash table is a widely used container type and Go aspires to having a sort of "kitchen sink" stdlib I assume Go 1.0 had a hash table, and it can't be a Swiss Table because those weren't invented yet.

      • jerf 25 minutes ago

        It's the "map" builtin. Go has a scripting-language-esque attitude of "you can build most things with arrays and hash tables". It doesn't completely preclude getting deeper but that's the general starting point.