谷歌 Rust 团队工作效率是 C++ 团队的两倍
谷歌 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 代码正确性的信心要高于其他语言。“这是一个庞大的数字......我一生中经历过不止一次语言调查,但从未见过这样的数字。”

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
分析和 AI 统一型数据库 Cloudberry Database 1.5.1 发布
近日,分析和AI统一型开源数据库 Cloudberry Database 1.5.1 版本发布,本次版本主要是新增部分功能、修复 Bug,是 1.5.0 的增强版本。 相比 1.5.0,Cloudberry Database 1.5.1 版本主要变更有: 重构新文件 aqumv.c 更新 CloudberryDB README.md 文档信息#324 修复非法 PGnotify 声明#325 修复 get_size_from_segDBs 中可能引起 UAF 现象的问题#326 暴露一些函数以支持 PAX 分区表功能#328 重构表格 AM: scan_begin_extractcolumns 包括执行上下文#329 更新 CloudberryDB 终端显示信息#300 修复 psql 中的 \d 表达语法,以显示来自 pg_am 的正确存储名称#330 将 workfile_set 更名为 workfile_mgr.c#331 为扩展增加 pg_ext_aux 命名空间#333 为扩展增加 dml 扩展#332 增加自定义对象类支持#335 为自定义表访问方法增加复制支持#336 在...
- 下一篇
《2024具身智能全景图1.0》发布
中国人工智能产业发展联盟(简称“AIIA”)正式发布了《2024具身智能全景图1.0》。 全景图主要涵盖行业应用与投资孵化、技术开发与系统集成、基础设施与原材料三大板块,对具身智能产业链的上下游发展情况进行了细致梳理,详尽展示了具身智能产品的分类、行业应用及其分布态势,旨在分析产业现状、把握发展趋势。 基于全景图,AIIA具身智能工作组对产业链上、中、下游现状和趋势进行了总结和分析。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装