]> Sergey Matveev's repositories - stargrave-blog.git/commit
ESR под большим впечатлением от Go
authorSergey Matveev <stargrave@stargrave.org>
Fri, 21 Feb 2020 19:35:14 +0000 (22:35 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Fri, 21 Feb 2020 19:35:14 +0000 (22:35 +0300)
commitcb0339b9d01e67f121cd15f48bba338064e4d805
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent19bc6eed12b09ee46e3f03c333443bcd0119c0cf
ESR под большим впечатлением от Go

http://esr.ibiblio.org/?p=8607

[...]
The Go language really proved itself too. The bet I made on it a year
ago paid off handsomely – the increase in throughput from Python is
pretty breathtaking, at least an order of magnitude and would have been
far more if it weren’t constrained by the slowness of svnadmin dump.
Some of that was improved optimization of the algorithms – we knocked
out one O(n**2) after translation. More of it, I think, was the combined
effect of machine-code speed and much smaller object sizes – that
reduced working set a great deal, meaning cache miss penalties got less
frequent.
[...]
That is 35 lines of easily readable code in Go, and we got no fewer
than 9 uses out of it in various parts of the code! I have never before
used a language in which parallelism is so easy to manage – Go’s
implementation of Communicating Sequential Processes is nothing short
of genius and should be a model for how concurrency primitives are done
in future languages.
[...]