Go 1.8 正式发布
Chris Broadfoot
16 February 2017
今天,Go团队很高兴宣布Go 1.8的发布。您可以从下载页面获取它。在整个标准库中,性能都有重大改进和更改。
Go 1.7(64位x86)中引入的编译器后端现已在所有体系结构上使用,这些体系结构应获得显着的性能改进。例如,在32位ARM系统上,我们的基准测试程序所需的CPU时间减少了20-30%。对于64位x86系统,此版本中还对性能进行了一些适度的改进。编译器和链接器的速度更快。编译时间应比Go 1.7缩短约15%。在这方面还有更多的工作要做:期望将来的发行版中的编译速度更快。
垃圾回收的停顿时间应该明显短一些,通常在100微秒一下,通常低至10微秒。
HTTP服务器增加了对HTTP/2 推送的支持,允许服务器抢先的向客户端发送响应。这对于减小网络延迟很有帮助,通过消除往返。HTTP服务器也添加了对优雅关机的支持,从而允许服务器通过仅在处理所有正在运行的请求后才关闭,以最大限度的减小停机时间。
Contexts(已添加到Go 1.7中的标准库中)提供了取消和超时机制。Go 1.8adds 支持标准库更多部分的上下文,包括database/sql
和net
包和net/http
包中的Server.Shutdown
。
现在使用sort
包中新添加的Slice
函数对切片进行排序要简单得多。例如,要按结构的Name
字段对切片进行排序:
sort.Slice(s, func(i, j int) bool { return s[i].Name < s[j].Name })
Go1.8包括许多其他添加,改进和修复。在Go 1.8 发行说明中找到完整的更改集,以及有关上面列出的改进的更多信息。
为了庆祝发布,本周全球各地的Go用户组织举行了发布聚会。发布聚会已成为Go社区的传统,因此,如果您这次错过了,请关注1.9临近。
感谢200多个为该版本提供帮助的贡献者。
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: