Go 1.8再升级,效率性与便捷性成关注重点

译文
开发 开发工具 新闻
1.8最终版本将于今年2月正式发布,此次升级的大部分变更集中在工具链、运行时以及库层面。新版本还可将一项值由一种类型转换为另一种,且忽略其Go标签。

【51CTO.com快译】作为Go语言的***候选发布版,Go 1.8提供HTTP2 Push支持能够,同时亦包含一套经过更新的编译器后端用以提升代码效率。

作为谷歌开源语言的下一版本,Go 1.8正逐步走向通用阶段,其目前的候选发行版对编译及HTTP进行了相关改进。1.8最终版本将于今年2月正式发布。

[[181596]]

根据草案说明,此次候选发行版对编译器后端进行更新以提升代码效率。这套最初随Go 1.7发布且面向64位x86系统的后端基于静态单一指派(简称SSA)形式,旨在生成效率更高的代码并作为平台实现边界检查消除等优化效果。其目前已经可用于全部架构。

“根据我们的基准测试,新后端能够在32位ARM系统上将CPU时间降低20%到30%,”这份说明指出。“对于已经在Go 1.7中使用SSA后端的64位x86系统,这一CPU资源占用量削减在0%到10%之间。其它架构的性能提升可能更接近于32位ARM系统上的数字。”

Go 1.8版本还引入了一套新的编译器前端,以作为未来性能增强的实现基础,其同时亦可通过消除“停止所有处理”堆栈重扫描缩短垃圾收集暂停时间。

根据此次发布说明,新版本还引入了HTTP2 Push支持,其中net/http软件包能够立足处理程序发送HTTP/2服务器推送,并由该服务器响应HTTP请求。另外,hTTP服务器关闭亦可通过Server/Shutdown以及Server.Close方法相配合以更为“优雅”的方式完成。

1.8版本支持Linux上的Mips 32位架构,且可为Server.Shutdown、database/sql以及.net.resover等软件包提供更多上下文支持。Go的排序包还增加了一项便捷的函数,即Slice,用于对给定less函数片段进行排序。“在大多数情况下,这意味着不再需要写入一条新的排序类型。”Go 1.8中的运行时与工具皆支持争用互斥锁配置,即可提供互斥锁机制。

此次升级的大部分变更集中在工具链、运行时以及库层面。“语言规范中出现了两项微波的变更,”版本说明指出。“与往常一样,此版本保持了对Go 1的兼容性承诺,我们预计几乎全部Go程序皆可继续得到兼容及正常运行。”另外,新版本还可将一项值由一种类型转换为另一种,且忽略其Go标签。再有,该语言规范现在仅要求支持***16位浮点常量指数。

原文标题:Go 1.8 goes for efficiency and convenience

原文作者:Paul Krill

 

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:王雪燕 来源: 51CTO
相关推荐

2017-01-16 09:27:09

白熊技术简爆/Tale

2009-04-23 08:58:32

2009-05-05 10:53:18

软件博览会

2012-10-24 10:17:11

BI移动CIO

2018-05-22 07:41:34

2018-04-15 16:00:07

2024-04-07 11:21:14

2016-12-14 13:57:00

5G

2022-02-28 14:05:48

MWC网络基础设施

2012-12-25 10:11:32

2009-01-27 22:30:12

模块化数据中心IBM

2015-01-28 19:19:26

豌豆荚Snap效率锁屏应用内搜索

2018-01-23 08:48:29

DockerNode.js开源

2022-01-18 10:16:32

首席信息官IT技术

2009-01-14 18:19:07

服务器虚拟化灾难恢复

2011-03-08 22:44:38

宽带光网光网城市

2010-01-21 20:48:18

综合布线100G

2012-03-12 22:10:07

2009-04-20 10:54:18

DHCP管理局域网
点赞
收藏

51CTO技术栈公众号