如果 Rust 要做 C++ 做的工作,我们需要知道 Rust 会把 C++ 最擅长的工作做成什么样子。什么是快,什么是慢? 什么更难做,什么更容易? 我不知道该如何回答这些问题,但我可以编写程序来寻求答案。
我有一个 C ++ 程序,其长度用来实验正好合适——一个打印的页面长度,并且使用不熟悉的语言重写也不会有什么棘手的问题。(它生成由 Frank Longo 设计的名字为“拼写蜜蜂”的拼图游戏的所有可能的方案,我是在“纽约时报”杂志发现的。)我在 Rust 上使用等效的代码直接重写了该程序。Rust 程序的长度与之前 C++ 的接近,但运行效率只有原来的一半。因为我使用了更加规范的 Rust 代码管理,它运行得更快。同时,我努力加快 C++ 程序执行速度,仍然保持原来的代码长度一页限制。每次更改后,我都会检查下性能。很少有程序得到这么多的优化关注。