Conversation

Replying to
I am not sure that’s Go fault. With TamaGo, which keeps the Go runtime almost identical but on ARM bare metal and therefore without the OS virtual memory, we don’t see much memory waste. And we have much less memory to spare. Are you sure it isn’t just Linux overcommitting?
1
Replying to
From golang's own accounting: Alloc: 31324248 Sys: 917090656 - 900 megs of system memory for 31 megs of live heap-allocated objects. But I am not sure yet, I am in the process of root-causing what is going on.
1
2
Go doesn't use a moving (compacting) GC, so it isn't good at reclaiming memory from small objects. They've chosen to value low pause times and minimal impact on the latency / throughput of pointer accesses above everything else. It uses lots of memory and has bad throughput.
1
2
This Tweet was deleted by the Tweet author. Learn more