写点什么

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:003378
用户头像

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

关注

评论

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

浙江丽水,正在用AI诊癌

Openlab_cosmoplat

基于图数据库构建知识图谱平台应用实践

星环科技

新一代湖仓集存储,多模型统一架构,高效挖掘数据价值

星环科技

白话大模型① :AI分析能做什么?在实际落地中会碰到什么问题?

星环科技

白话大模型③ | 我们为何需要机器学习运营平台?

星环科技

Apache Calcite 一条 SQL 的查询计划生成之旅【上】

LakeShen

开源 sql 优化器 apache 社区 Apche Calcite

关于 yarn 的中央仓库 registry.yarnpkg.com

伤感汤姆布利柏

低代码与国产化部署:软件开发的未来趋势与应用实践

不在线第一只蜗牛

低代码 软件咖啡 国产化部署

英特尔Sachin Katti揭示边缘平台增强AI功能之道

E科讯

AIGC下一步:如何用AI再度重构或优化媒体处理?

阿里云CloudImagine

云计算 视频云 AIGC

深入了解数据库:分类、作用与特点

霍格沃兹测试开发学社

SQL 创建数据库语句详解与实践指南

霍格沃兹测试开发学社

Python 教学平台,支持“多班教学”的课程授课方式|ModelWhale 版本更新

ModelWhale

Python 人工智能 大数据 数据分析 云课堂

谷歌最强开源大模型亮相!Gemini技术下放,笔记本就能跑,可商用

Openlab_cosmoplat

英特尔发布全新边缘平台,充分满足企业AI部署需求

E科讯

关于Python中math 和 decimal 模块的解析与实践

不在线第一只蜗牛

Python 开发语言 模块开发

利用ChatGPT提升工作效率的技巧与方法

霍格沃兹测试开发学社

OPPO打响AI手机第一枪

Openlab_cosmoplat

OpenAI员工自曝996作息表,网友:真正的卷不需要强迫

Openlab_cosmoplat

白话大模型② | 如何提升AI分析的准确性?

星环科技

精细管理,智慧决策:商品企划系统如何提升鞋服品牌运营效率?

第七在线

AI PPT软件有哪些?这5款堪称神器,职场白领必备!

彭宏豪95

职场 PPT 在线白板 办公软件 AIGC

软件测试学习笔记丨docker 搭建常用服务器与平台命令

测试人

Docker 软件测试 自动化测试 测试开发

量化交易策略炒币系统开发

薇電13242772558

量化交易

Docker Exec 命令详解与实践指南

霍格沃兹测试开发学社

软件测试学习笔记丨MQ - Message Queue消息队列和kafka基本使用

测试人

软件测试 自动化测试 测试开发

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