C/C++已经统治系统编程很久,除了ObjectiveC之外语言都无法获得很高的关注。有人用多种系统级语言编写了同样的地图生成工具来测试他们的性能,包括D(DMD,LDC,GDC)、Go(GCC-Go,6g)、Haskell(GHC)和Rust。相比C/C++,这些语言都原生支持了诸如垃圾回收这些高级特性,也因此无一能达到C/C++的运行速度。 其中表现最好的是基于LLVM的D语言编译器LDC,与同样基于LLVM的C编译器Clang相比,可以达到它96%的速度。其次是基于LLVM的Rust编译器,达到了89%。因为LLVM编译的优化做的太好,即使GCC都只能达到Clang 72%。另一个令人惊讶的结果是,基于JVM的Scala竟然能达到Clang70%的速度。几乎相当于GCC。 CompilerSpeed(s)%Fastest Clang0.280100% LDC0.29296% Rustc0.31689% Scala0.37575% GCC0.39072% LLVM-GHC0.42865% 6g0.54451% GHC0.54651% DMD0.64037% GCCGO0.85033%