17611538698
webmaster@21cto.com

谷歌总监:从 C++ 切换到 Rust,开发效率提升两倍不止

资讯 0 829 2024-06-26 12:09:45

图片

谷歌 Android 工程总监近日在 Rust Nation 大会上介绍了将 Go 或 C++ 编写的项目迁移到 Rust 语言的经验。

谷歌内部从 Go 转向 Rust 后,发现工作效率提高了两倍以上,内存使用率降低,缺陷率降低,正确性提高。此发现对谷歌团队来说意义重大,因为 C++ 代码维护成本高昂,有较大风险。85% 的开发人员对 Rust 代码正确性有较高的信心。

谷歌 Android 工程总监 Lars Bergstrom 在近期举行的 Rust Nation 大会上,介绍了该公司将 Go 或 C++ 编写的项目迁移到 Rust 语言的经验。


图片


Bergstrom 称,虽然早在 2016 年的 Dropbox 和 2018 年的 Figma 就提供了用内存安全的 Rust 语言重写代码的案例,并且对生产率和这种语言的质疑已经消退,但对其可靠性和安全性的担忧却一直挥之不去。


不过随着一些组织以及美国政府机构频繁发出 “建议从 C/C++ 切换到 Rust 等内存安全语言” 的信号,Bergstrom 认为,整个软件开发生态系统的认知已经发生了转变。


就谷歌内部而言,在把被认为是内存安全但性能不佳的 Go 代码重写成 Rust 代码以后,已经呈现出了一些优势。


图片


Bergstrom 表示,采用 Go 和 Rust 构建系统所消耗的人力和时间是一样的;并且从 Go 转向 Rust 不会降低工作效率。


“有趣的是,我们确实从中看到了一些好处。我们在从 Go 迁移过来的服务中看到了内存使用率的降低...... 我们还看到,随着时间的推移,那些用 Rust 重写的服务的缺陷率也在降低,从而提高了正确性。”


值得一提的是将 C++ 代码重写成 Rust 代码后的比较。“在每种情况下,我们都发现,无论是用 Rust 构建服务,还是维护和更新这些用 Rust 编写的服务,所需的工作量都减少了 2 倍以上。”


Bergstrom 称,这一发现对谷歌团队来说意义重大。因为 C++ 代码维护成本高昂,需要庞大的团队投入大量精力,并且存在诸多风险。


且有 85% 的开发人员对 Rust 代码正确性的信心要高于其他语言。“这是一个庞大的数字...... 我一生中经历过不止一次语言调查,但从未见过这样的数字。”


作者:魏晓峰

相关链接
https://www.youtube.com/watch?v=6mZRWFQRvmw&t=27048s

评论