Go 1.24 is expected to be released this month, but their release note draft is out and after a long time it is a pretty insane one 🔥 three things I absolutely loved in this release are
- a new Loop method for performing benchmark iterations, much cleaner
- introduction of the “weak” package, providing weak pointers.
The package provides ways to safely reference memory weakly and is a low-level primitive that enables the creation of memory-efficient structures.
- the default map implementation is now based on Swiss tables.
This is massive for DiceDB. Swiss tables are extremely efficient for frequent inserts and updates because they minimize the amount of data that needs to be moved when the hash table resizes. We previously used a third-party library to implement Swiss tables, but now, can happily switch back to the default implementation and gain an average of 2-3% on CPU.
if you are interested in skimming, I have linked the link to the draft below. give it a read, there are plenty of updates this time.