This is just one recent example: https://www.infoq.com/articles/api-gateway-clojure-golang
The money quote:
"The end result enabled us to reduce 25 instances (c4 xlarge) running Clojure code - able to process 60 concurrent requests, to two instances (c3.2xlarge) running Go code able to support ~5000 concurrent requests a minute"
If you google around you'll find more stories like that.
To do better than Go you would have to drop to C++ or Rust.
That doesn't make any sense though.
Sure but how much of the performance gains come from Go and how much come from just having a better understanding of the problem the second time around?
Pypy leads to a near 10x speed up over cPython as well.
Idiomatic clojure is routinely slower than idiomatic Java and that’s a well known and expected outcome.
C++ and Rust yes, but also Java and .NET.
In any case, as the article text also mentions, on the Go side they are using a complete reverse-proxy library that's included with the Go stdlib, which can be a significant advantage aside from the properties of the language itself.
But then it seems they ended up reimplementing many things that the JVM provides: "In order to achieve out of the box functionality such as CPU and memory usage metrics, business logic counters and more - we needed to write basically this entire stack from scratch, which enabled us a much more rapid deep dive of the intricacies of Golang."