Get the latest tech news
How we tracked down a Go 1.24 memory regression
We rolled out Go 1.24 and saw a memory regression. Here's how we dug into system metrics, uncovered a bug in the runtime allocator, and worked with the Go team to help fix it.
In this first post, we'll walk through how we diagnosed a subtle memory allocator regression introduced by a runtime refactor and how we worked with the Go team to identify and confirm the root cause. At this point, we were also diving deep into the Go 1.24 changelog, searching for any clues that might explain our observations, such as changes impacting channels or maps besides the Swiss Tables implementation. PJ Malloy (thepudds), an active contributor in the Go community, had previously developed heapbench, a GC benchmarking tool that had proven valuable in the past for identifying runtime issues.
Or read this on Hacker News