logoalt Hacker News

fpolingyesterday at 9:43 PM3 repliesview on HN

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.


Replies

hedgehogyesterday at 10:34 PM

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.

show 1 reply
uh_uhyesterday at 11:56 PM

What kind of apps are you writing where GC spikes matter?

throwaway894345yesterday at 11:23 PM

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?

show 2 replies