The tradeoff Go made is the wrong one for most applications. That’s the issue.
-
-
Replying to @pcwalton @KirinDave
That is a difficult argument to square with empirical observation.
2 replies 0 retweets 2 likes -
Replying to @tqbf @KirinDave
That’s what I’m talking about. Go’s GC benchmarks well, but it is making the wrong tradeoffs. Throughput matters a lot.https://blog.plan99.net/modern-garbage-collection-911ef4f8bd8e …
1 reply 0 retweets 3 likes -
Replying to @pcwalton @KirinDave
Yeah, I read that like everyone else. I understand what a generational collector is. The problem with your argument, I think, is that there are much more popular languages with similarly dumb GCs that Go outperforms.
1 reply 0 retweets 1 like -
You want to be arguing that Go’s GC is SUBOPTIMAL. But instead, you’re arguing that it’s INAPPROPRIATE. You’re going to lose that argument.
1 reply 0 retweets 2 likes -
Replying to @tqbf @KirinDave
But I’m only arguing that the Go GC design is suboptimal. I’m not trying to argue that it doesn’t work at all. My problem is that people don’t realize that it’s suboptimal. We’re forgetting all the lessons we learned in the ‘90s, which is tragic.
2 replies 0 retweets 6 likes -
Replying to @pcwalton @KirinDave
There are a lot of good ideas in CS that turn out not to have a whole lot of practical benefit for huge ranges of real-world problems. Look at the instruction set we all code to now! TRAGIC.
2 replies 0 retweets 1 like -
Replying to @tqbf @KirinDave
Are you trying to argue that generational GC does not have a practical benefit for most programs? Because that would be very hard to successfully argue!
1 reply 0 retweets 0 likes -
Replying to @pcwalton @KirinDave
Yes, I am arguing that there are huge numbers of important commercial programming problems that don’t care whether their GC is generational or — scarier still! — care much more about latency than throughput.
3 replies 0 retweets 1 like -
Go's GC isn't at the pareto frontier on any dimension, and there are very low-latency GCs that are still generational (for example Azul)
1 reply 0 retweets 0 likes
Azul is a better collector, for sure, but I also think it’s the wrong default for most Java applications. (I’m much less sure about that than I am about Go’s design being suboptimal though. If I disagree with Cliff Click, you should ignore me and believe Cliff Click.)
-
-
Oh, I certainly agree it's the wrong default for most applications. Just pointing out that you can get low latency without throwing out decades of GC research.
0 replies 0 retweets 0 likesThanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.