写点什么

Go 1.7 大幅缩短了编译时间

  • 2016-08-18
  • 本文字数:801 字

    阅读完需:约 3 分钟

据谷歌工程师 Chris Broadfoot介绍,Go 1.7 大幅缩短了编译时间,提高了运行时性能。它还增加了层次化测试和基准测试,并正式支持运行在IBM z 系统(s390x)上的Linux

正如 InfoQ 之前的报道,Go 1.7 的编译器改进主要是指,Go 有了一个基于静态单一指派(SSA)、面向amd64 平台的新编译器后端。得益于包括边界检查消除通用子表达式删除在内的多项高级优化,这个新的后端可以生成压缩率更高、执行速度更快的代码。谷歌的基准测试显示,运行时速度提升了5-35%,而编译时间和二进制代码大小减少了20-30%。事实上,基本测试可能差别很大,而据一些Hacker News 用户报告,构建速度提高了2 倍。

上面提到,新的SSA 后端只适用于amd64 平台。不过,据谷歌工程师Brad Fitzpatrick介绍,Go 1.8 的主要目标之一就是将其移植到所有支持的体系架构。Fitzpatrick 补充说,舍弃以前的后端应该可以同时简化前端,因为前端的研发目前是以新后端功能弱化为前提,需要做更多的工作。这可能会带来更大的性能提升。Go 1.8计划于2017 年2 月发布。要了解更多细节,请访问 GoLang 开发论坛

Go 1.7 还带来了其他值得注意的变化,包括子测试和子基准测试,让定义层次化测试和表驱动的基准测试成为可能。这是通过为-run-bench标识指定一个由斜杠分隔的正则表达式参数实现的,例如:

复制代码
go test -run Foo # 运行匹配“Foo”的顶层测试
go test -run Foo/A= # 运行匹配“A=”的 Foo 子测试
go test -run /A=1 # 运行所有匹配“A=1”的子测试

最后,Go 1.7 将 context 包纳入了标准库,让后者成为标准库的一部分。在进行有关网络的操作时,该包可以让取消、暂停和传递请求作用域数据变得更容易。Go 1.7 让 vendor 目录的使用成为标准,使开发人员可以使用外部依赖的本地副本,代替自动从 GOPATH或标准库获取。

要全面了解 Go 1.7 带来的新特性、改进和 Bug 修复,请查看发布说明

查看英文原文: Go 1.7 Brings Compiler Improvements and More

2016-08-18 19:003455
用户头像

发布了 1008 篇内容, 共 446.6 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

2023年10月文章一览

codists

「燃情大促,年终钜惠」,家人们这一波可以冲!

融云 RongCloud

活动 服务 IM RTC 融云

服务器大揭秘:美国服务器为何成为热门选项?

一只扑棱蛾子

美国服务器

大模型 | 今天聊聊大语言模型幻觉(AI Hallucinations)

澳鹏Appen

数据标注 大模型 生成式AI LLM 大模型幻觉

利用Docker容器化构建可移植的分布式应用程序

互联网工科生

Docker 容器化

知识图谱与大模型相结合的3种方法,1+1>2

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 大语言模型

荣耀推送服务 - 发送下行消息能力指导

荣耀开发者服务平台

基础服务 实时推送 API 接口 荣耀开发者服务平台 开放能力

混沌工程稳态假说

腾讯云混沌演练平台

混沌工程 稳定性保障

混沌工程GameDay

腾讯云混沌演练平台

混沌工程 GameDay 稳定性建设 混沌演练

做好这4点,面试嘎嘎猛~

王磊

Java 面试

ARBT质押挖矿DAPP系统开发(源码搭建)

l8l259l3365

AI PC的时代,英特尔和联想、爱奇艺是怎样玩转AI的?

E科讯

校园跑腿

图颜有信

云平台是否支持黑白相机拍摄的灰度图?

矩视智能

深度学习 黑白相机

稳定扩散的高分辨率图像合成

3D建模设计

AI自动纹理 稳定扩散

科技企业正成为外交名片

TE智库

新能源

重磅更新!Sermant 1.2.0 release版本新特性速览

华为云开发者联盟

开源 后端 华为云 华为云开发者联盟

如何使用 NFTScan NFT API 在 Ethereum 网络上开发 Web3 应用

NFT Research

NFT\ nft工具

知识图谱与大模型结合方法概述

云计算 软件开发 华为云

AI 革命:最佳 txt 转纹理工具

3D建模设计

AI自动纹理 AI纹理

7 款用于训练 AI 模型的合成数据工具

3D建模设计

人工智能模型 合成数据 UnrealSynth

Go 1.7大幅缩短了编译时间_语言 & 开发_Sergio De Simone_InfoQ精选文章