C/C++已经统治系统编程很久,除了 ObjectiveC 之外语言都无法获得很高的关注。有人用多种系统级语言编写了同样的地图生成工具来测试他们的性能,包括D(DMD,LDC,GDC)、Go (GCC-Go,6g)、Haskell (GHC)和 Rust。
相比C/C++,这些语言都原生支持了诸如垃圾回收这些高级特性,也因此无一能达到C/C++的运行速度。这其中表现最差的是原生 Go 语言编译器 6g,只有 Clang22% 的速度,而表现最好的是基于 LLVM 的D语言编译器 LDC,达到了 79%。由于原生就使用了 LLVM 编译,Rust 成为各语言原生编译器里最快的一个,但也只达到了 45%。从结果来看,D语言一定是首选。由于D语言许多特性都依赖垃圾回收,如果需要关闭垃圾回收而又要保持良好的使用体验,则推荐 Rust。