language secs GC'd language?
======== ==== ==============
C++ (g++) 0.94
Rust 1.09
C (gcc) 1.54
Free Pascal 1.99
Intel Fortran 2.38
Java 2.48 yes <====
Lisp (SBCL) 2.84 yes
Ada (GNAT) 3.12
OCaml 4.68 yes
Racket 4.81 yes
C# .NET 4.81 yes
Haskell (GHC) 5.02 yes
Erlang 5.19 yes
F# .NET 6.06 yes
Node.js 7.20 yes
Julia 7.43 yes
Chapel 7.96 yes
Dart 9.90 yes
Go 12.23 yes <====
Swift 16.15 * "Automatic Reference Counting"
Smalltalk (VW) 16.33 yes
PHP 18.64 yes
Ruby 23.80 yes
Python 3 48.03 yes
Lua 48.15 yes
Perl 53.02 yes
So Java has the fastest GC for this test, 2.48 secs vs 12.23 secs for Golang. The Java code is also notably perfectly idiomatic for multicore, it doesn't do heroic "avoid GC by writing C-like code manipulating a fixed global memory array" tricks. The Java code is also more concise.The 'plain C' code that uses Apache Portable Runtime memory pools instead of standard malloc/free and uses OpenMP #pragma's strikes me as more 'heroic' than 'idiomatic', whereas C++ and Rust use standard libraries/crates and idiomatic patterns. (Note that OpenMP is 'standard' for high-performance C and well supported across GCC/LLVM/Microsoft/Intel compilers. But still....)
OCaml and Haskell made impressive showings for functional languages which are in practice the easiest for dealing with complicated tree algorithms, which is perhaps why the formally verified C compiler, CompCert, is implemented in OCaml, as is Frama-C for formally verifying ISO C programs, as is the Coq theorem prover, etc.
[1] https://benchmarksgame-team.pages.debian.net/benchmarksgame/... [Edited link]