noalloc zwingt Go-Code, ohne Heap-Allokationen auszukommen
noalloc: Tooling and libraries to enforce zero heap allocations in Golang
Das Tool noalloc prüft per //noalloc:root den gesamten Aufrufbaum einer Go-Funktion auf Heap-Allokationen und meldet jede Zeile, die Speicher anfordert. Dazu liefert es feste, null-allokierende Container wie Buf, Vec und Map sowie einen JSON-Encoder und -Decoder, die selbst beim ersten Aufruf keinen Heap berühren. Der komplette Code stammt laut Disclaimer von einer KI, wird aber bei The Consensus produktiv eingesetzt.
Es ist eine Sache, Code zu schreiben, der nicht auf dem Heap alloziert. Eine andere ist es, dafür zu sorgen, dass der Code auch dann nicht alloziert, wenn er sich ändert.