top | item 43560124

(no title)

vvern | 11 months ago

Literally all three of their required features which were not “standard” for swiss tables were requirements for the go implementation. See https://go.dev/blog/swisstable for a nice post on that project.

discuss

order

avinassh|11 months ago

Go also had one more requirement:

Many hash table designs, including Abseil’s Swiss Tables, forbid modifying the map during iteration. The Go language spec explicitly allows modifications during iteration, with the following semantics:

- If an entry is deleted before it is reached, it will not be produced.

- If an entry is updated before it is reached, the updated value will be produced.

- If a new entry is added, it may or may not be produced.

which I don't think was needed for valkey