A New Hash Table
3 points by avinassh 3 months ago | 2 comments- vvern 3 months agoLiterally 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.
- avinassh 3 months agoGo 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
- avinassh 3 months ago