Freaking hell, this is awesome. I'm an old C guy, and never liked Java etc. needing GC. I've watched Go evolve lately and this just blew away the last concern for me, really. I am pumped to study and become fluent in this language. Hell, this could be the last barrier to pushing everyone to consider it as a real alternative to C++ too. One can hope.
@georgebevan69939 жыл бұрын
+Russtopia Look again. Nothing comes without cost. Go's GC throughput is miserable compared to Java's (benchmarksgame.alioth.debian.org/u64/performance.php?test=binarytrees). Yes, there are situation where latency matters, just as there are situations where it doesn't. At the same time there are low-latency GCs for Java for the people that need it (look at Azul/Zing), and there even are real-time GCs (look at IBM/Metronome) if you limit yourself to MB-sized heaps like they did in this presentation. And once you leave Java and look at other languages, you'll see even fancier things like Erlang, where individual threads are individually collected, thus having the system remain responsive at all times. Go is interesting for a multitude of reasons, but it's GC is still work in progress and in need of improvement, so don't delude yourself about that.
@Russtopia9 жыл бұрын
+George Bevan True, TANSTAAFL. I'll have to read up on those (Erlang always did look interesting but I never got into it) Didn't they state the overall speed reduction for the concurrent GC was only a few percent though? I wonder if a b-tree benchmark can prove conclusively it's GC that causes the difference in Go vs. Java in that benchmark: might the difference not be due more to Go's younger compiler/less mature optimisation overall (ie., something that can get much better with some effort). If we all want to play the benchmark game, take a look at the memory consumption for Java vs. Go in the n-body benchmark on a quad core. Benchmarks can be just as misleading as graphs at presentations, just sayin'. Go's certainly a young language, so time will tell if they can get those performance stats up. I am expert in neither Go nor Java, so I won't pretend to defend one or the other conclusively; Certainly Java's a lot more mature and has had more time to be optimised and tweaked. Purely subjectively, I just like Go's minimalism in my explorations so far.
@msubbums6 жыл бұрын
I recall the proverb practice makes perfect!, same here with changes in GC. Wonderful talk on Go GC. I am confident Go will evolve much faster to adapt needs, changes and break the hurdles. In todays cloud technology resources are a mere barrier. Hi5 to all.