首页 文章详情

在过去 12 年里,Go 的运行速度提高了 24 倍!

Go Official Blog | 118 2024-06-13 15:31 0 0 0
UniSMS (合一短信)

最近读到了一篇文章[1],文章作者是一名来自新西兰的软件工程师 Ben Hoyt ,他曾供职于 Canonical、Compass 和 TripAdvisor 等公司。早年他实现过 Forth 编译器和小型操作系统。但是他最出名的一个项目是 GoAWK[2],这是一个用 Go 编写的支持 CSV 的 AWK[3] 解释器。

在这篇文章中,他对 GoAWK 从 1.0 到 1.22 版本的速度进行了基准测试。两个版本分别于 2012 年和 2024 年发布。整个的时间跨度为 12 年。结果令人震惊。单词计数基准测试显示速度提高了 8 倍。

更令人震惊的是,一个循环计算数字的小程序的速度也加快了。它的速度提高了 24 倍!在其他基准测试中,Go 也表现得相当快。根据测试结果,它比 Julia、OCaml、Ruby、Python 和 PHP 都要快。在一些基准测试中,Go 甚至比 Rust 更快,例如在 Primes 基准测试中:

ea235297ab279095035c06a5a25bcff0.webp

所以如果你仍然在使用旧版本的 Go,强烈建议升级到新的版本。

更多详细的测试过程可以参考原文:https://benhoyt.com/writings/go-version-performance-2024/

参考资料 [1]

Go performance from version 1.0 to 1.22: https://benhoyt.com/writings/go-version-performance-2024/

[2]

goaws: https://github.com/benhoyt/goawk

[3]

AWK: https://en.wikipedia.org/wiki/AWK


good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter