| ▲ | fpoling 2 hours ago | |||||||
For me the main advantage of Go over Rust is compilation speed. Then compared with Go Rust still rely on many C and C++ libraries making it problematic to cross-compile or generate reproducible builds or static binaries. The minus side of Go is too simplistic GC. When latency spikes hit, there are little options to address them besides painful rewrite. | ||||||||
| ▲ | hedgehog an hour ago | parent | next [-] | |||||||
I've run into GC pauses, I think in many (most?) cases there is some class of bulky data that you can either move into slices of pointer-free structs (so the GC doesn't scan them) or off-heap entirely. The workload where GC is slow is also likely prone to fragmentation so whatever the language you'll have to deal with it. | ||||||||
| ||||||||
| ▲ | throwaway894345 15 minutes ago | parent | prev [-] | |||||||
Isn’t it somewhat easy to remove allocations in Go? I haven’t had to “rewrite” as such, but rather lifting some allocation out of loop. Am I misunderstanding the scenario? | ||||||||
| ||||||||