Profiling Go Programs
blog.golang.org
blog.golang.org
Russ masterfully also demonstrated the Google cultural value of politeness, so I expect the results of this blog post will be taken in the gracious manner in which they were written.
"Robert asked me to take a look at his code and I hacked on it for an hour to make a little bit nicer. If I had realized that he was going to publish it externally I would have put a lot more time into making it nicer."
https://groups.google.com/d/msg/golang-nuts/G8L4af-Q9WE/MNY-...
But russ didn't claim anything regarding Scala, the problem with the original paper is that it made explicit and implicit claims regarding Go, Scala, Java, etc. without really bothering to make much of an effort to make the comparison minimally realistic.
The article you just (sort of) read explicitly states that it's not much faster than the C++ version because the C++ version lacked many of the optimizations they did in the article. To make a fair comparison, they applied those same optimizations to the C++ one code and got similar performance:
Of course, it's no longer fair to compare this Go program to the original C++ program, which used inefficient data structures like sets where vectors would be more appropriate. As a sanity check, we translated the final Go program into equivalent C++ code. Its execution time is similar to the Go program's.
tl;dr: It is Apple's fault, OS X is buggy and so far there are no known good workarounds, if you know any I'm sure Russ would love to hear about it.