post on using go 1.5 and GC latency
rsw0x via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Aug 23 04:26:56 PDT 2015
On Sunday, 23 August 2015 at 11:06:20 UTC, Russel Winder wrote:
> On Sat, 2015-08-22 at 09:27 +0000, rsw0x via
> Digitalmars-d-learn wrote:
>> […]
>>
>> The performance decrease has been there since 1.4 and there is
>> no way to remove it - write barriers are the cost you pay for
>> concurrent collection. Go was already much slower than other
>> compiled languages, now it probably struggles to keep up with
>> mono.
>
> I know Walter hates it when people mention the word but:
> benchmarks.
>
> As soon as someone say things like "it probably struggles to
> keep up with mono" further discussion of the topic is probably
> not worth entertaining without getting some agreed codes and
> running them all on the same machine.
>
> I agree the standard Go compiler generates not well optimized
> code, but
> gccgo generally does, and generally performs at C-level speeds.
> Of
> course Java often performs far better than that, and often
> fails to.
> You have to be careful with benchmarking and performance things
> generally.
https://groups.google.com/forum/#!msg/golang-dev/pIuOcqAlvKU/C0wooVzXLZwJ
25-50% performance decrease across the board in 1.4 with the
addition of write barriers, to an already slow language.
random benchmarks of Go performing 3x(+) slower than C/C++/D,
some of these predate Go 1.4.
https://github.com/kostya/benchmarks
https://benchmarksgame.alioth.debian.org/u64/benchmark.php?test=all&lang=go&lang2=gcc&data=u64
https://togototo.wordpress.com/2013/07/23/benchmarking-level-generation-go-rust-haskell-and-d/ (gcc-go performed the _worst_)
https://togototo.wordpress.com/2013/08/23/benchmarks-round-two-parallel-go-rust-d-scala-and-nimrod/ (and again)
https://github.com/logicchains/LPATHBench/blob/master/writeup.md
(once again, Go is nowhere near C/C++/D/Rust. Where is it?
Hanging out with C#/Mono.)
Go is slow. These aren't cherrypicked, just random samples from a
quick Googling.
Where is Go performing "C-level speeds" at? D claims this, and D
shows it does. Go falls into the "fast enough" category, because
it is _not_ a general purpose programming language. So unless
multiple randomly sampled benchmarks are all wrong, I'm going to
stick with 'Go is slow.'
More information about the Digitalmars-d-learn
mailing list