Go 1.24发布 带来性能改进和更好的WebAssembly支持

摘要:

Go 1.24 由 Google 工程师于本周发布,是这一流行编程语言向前迈出的最新一步。Go 1.24 提供了各种性能改进、对 Go 编程语言通用类型别名的全面支持、各种 Go 工具改进、促进 FIPS 140-3 合规性的标准库添加、标准库中的"os.Root"类型,以及改进的 WebAssembly 支持。

go124-1024x576_jpg.png

说到 Go 1.24 的性能工作,在各种代表性基准测试中,运行时 CPU 开销平均降低了 2%~3%。Go 1.24 对 WebAssembly 的改进包括新的"go:was"和"go:was"。

Go 1.24 与 Go 1.23 相比有许多改进。 以下是一些显著的变更;如需完整列表,请参阅 发行说明

语言变更

Go 1.24 现在完全支持通用类型别名:类型别名可以像已定义的类型一样被参数化。 详情请参见语言规范

性能改进

运行时的多项性能改进使 CPU 开销在一系列代表性基准测试中平均降低了 2-3%。 这些改进包括基于 Swiss Tables 的新内置 map 实现、更高效的小对象内存分配以及新的运行时内部互斥实现。

工具改进

  • go 命令现在提供了一种跟踪模块工具依赖性的机制。 使用 go get -tooltool 指令添加到当前模块。 使用 go tool [tool name] 运行使用 tool 指令声明的工具。 在发行说明中阅读更多关于 go 命令的内容。

  • test 子命令 go vet 中的新 test 分析器可报告测试包中测试、模糊器、基准和示例声明中的常见错误。 在发行说明中阅读更多关于 vet 的内容。

标准库新增内容

改进对 WebAssembly 的支持

Go 1.24 新增了 go:wasmexport 指令,用于 Go 程序向 WebAssembly 主机导出函数,并支持将 Go 程序作为 WASI reactor/library 构建。 请阅读 WebAssembly 发行说明中的更多信息。

有关本周发布的 Go 1.24 的下载和更多信息,请访问 Go.dev.

我们在FebBox(https://www.febbox.com/cnbeta) 开通了新的频道,更好阅读体验,更及时更新提醒,欢迎前来阅览和打赏。
查看评论
created by ceallan