|
|
|
@ -34,11 +34,11 @@ Rust 是一门完全开源的语言,在 2015 年发布了 1.0 版本,但是
|
|
|
|
|
## 编程语言的能源效率
|
|
|
|
|
对于开发者来说,估计没几个人能搞清楚自己服务的能源效率,那么该如何对比编程语言之间的能源效率呢?好在国外有专家做了相关的[学术研究](https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf)。
|
|
|
|
|
|
|
|
|
|
他精心设计了 10 个测试场景,然后衡量了 27 种不同的语言的执行时间、能源消耗、最大内存使用,最终得出了一个结论:C 和 Rust 在能源效率方面无可争议的击败了其它语言,事实上,它们比 Java 的能源效率高 50% , 比 python 高 98%。
|
|
|
|
|
他精心设计了 10 个测试场景,然后衡量了 27 种不同的语言的执行时间、能源消耗、最大内存使用,最终得出了一个结论:C 和 Rust 在能源效率方面无可争议地击败了其它语言——比 Java 高出 98%, 是 Python 的近 76 倍。
|
|
|
|
|
|
|
|
|
|
<img src="https://pic1.zhimg.com/80/v2-f39a453280eba7365b684cd882df9f78_1440w.png" />
|
|
|
|
|
|
|
|
|
|
其实,C 和 Rust 能效高很正常,但是比其它语言高出这么多就相当出乎意料了:根据上图的数据,采用 C 和 Rust,你将减少大概 50% 的能耗,这还是保守估计。
|
|
|
|
|
其实,C 和 Rust 的能效高很正常,但比其它语言高出这么多就相当出乎意料了:根据上图的数据,采用这两门语言后,程序的能耗将降低至少一倍。这还是与榜单中靠前的 Java 语言对比的结果。
|
|
|
|
|
|
|
|
|
|
那么问题来了,既然这两个都可以,为何不选择历史更悠久的 C 语言呢?它的生态和社区都比 Rust 要更好。 好在,linux 创始人 Linus Torvalds 在 2021 年度的开源峰会上给出了答案:他承认,[使用 C 语言就像是拿着一把链锯在玩耍](https://thenewstack.io/linus-torvalds-on-community-rust-and-linuxs-longevity/),同时还说道:"C 语言的类型互动并不总是合乎逻辑的,以至于对于绝大多数人来说,这种互动都可能存在陷阱"。
|
|
|
|
|
|
|
|
|
|