Hacker News new | ask | show | jobs
by vvern 437 days 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.
1 comments

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