产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

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

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

关注

评论

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

测试开发基础 mvn test | 利用 Maven Surefire Plugin 做测试用例基础执行管理

霍格沃兹测试开发学社

测试面试题集锦(六)| 软素质篇与反问面试官篇(附答案)

霍格沃兹测试开发学社

业务场景抽离,助力测试提效

转转技术团队

跨平台API对接(Python)的使用

霍格沃兹测试开发学社

BAT 名企大厂做接口自动化如何高效使用 Requests ?

霍格沃兹测试开发学社

智能遍历测试在回归测试与健壮性测试的应用

霍格沃兹测试开发学社

最流行的接口测试体系,从入门到项目实战

霍格沃兹测试开发学社

面试 | Python 自动化测试技术面试真题

霍格沃兹测试开发学社

接口自动化你不懂?听HttpRunner的作者怎么说

霍格沃兹测试开发学社

飞书项目负责人洪涛:从抖音研发到飞书项目背后的管理经验

B Impact

飞书 飞书项目

测试开发基础|一文搞定计算机网络(一)

霍格沃兹测试开发学社

测试必会 | 通过容器化 Python Web 应用掌握 Docker 容器核心技能

霍格沃兹测试开发学社

Github点击破百万!这部《从零开始学架构》神书就此霸榜

Java-fenn

Java 程序员 java面试 Java面试题 Java面试Java面试题

测试面试题集锦(二)| 测试工具篇(附答案)

霍格沃兹测试开发学社

Java基础 | 如何用Javadoc Tool写规范正确的java注释

Java-fenn

Java

构建测试平台与对应的组织架构需要哪些能力? 21/100

霍格沃兹测试开发学社

公排自动滑落模式智能合约dapp系统开发逻辑详情

开发微hkkf5566

电商性能测试实战 | JMeter 插件 Ultimate Thread Group 完成梯度递增场景的压测

霍格沃兹测试开发学社

该如何测客户端专项测试?

霍格沃兹测试开发学社

测试工程师如何突破职场瓶颈?

霍格沃兹测试开发学社

聊聊后端Web开发框架(Python)的简单使用

霍格沃兹测试开发学社

面试 | 今日头条测试开发岗位面试题目回顾

霍格沃兹测试开发学社

测试开发基础 | 计算机网络篇(二):物理层与数据链路层

霍格沃兹测试开发学社

测试面试真题|工作2年,从小厂到大厂,薪资翻倍是怎样的体验?

霍格沃兹测试开发学社

测试面试题集锦(五)| 自动化测试与性能测试篇(附答案)

霍格沃兹测试开发学社

版本控制神器GitHub的基本使用与踩坑,教你一铲子填平!

霍格沃兹测试开发学社

软件测试最常用的 SQL 命令 | 通过实例掌握基本查询、条件查询、聚合查询

霍格沃兹测试开发学社

测试面试真题 | 从屡次碰壁到成长蜕变,半年拿下某大厂 60W 年薪测试开发 Offer!

霍格沃兹测试开发学社

测试面试题集锦(三)| 计算机网络和数据库篇(附答案)

霍格沃兹测试开发学社

用 Pytest+Allure 生成漂亮的 HTML 图形化测试报告

霍格沃兹测试开发学社

软件测试最常用的 SQL 命令(二) | 高级 Join 多表查询

霍格沃兹测试开发学社

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