Go code refactoring: the 23x performance hunt
&quot;The execution time is now dominated by the allocation and the garbage collection of small objects (e.g. the Message struct), which make sense because memory management operations are known to be relatively slow.&quot;<p>A perfect example of why Go should switch to a generational garbage collector with bump allocation in the nursery, like Java HotSpot, .NET, V8, etc. etc. use. There are consequences to Go&#x27;s decision to make extreme throughput sacrifices in order to optimize for latency (low pause times) above all else.