写点什么

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

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

关注

评论

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

Paxos 与 Raft 区别

努力努力再努力

模块六课程作业

李晓笛

云原生的前世今生(一)

劼哥stone

云原生

「架构实战营」模块六《如何设计业务的微服务架构》作业

DaiChen

作业 模块六 「架构实战营」

微信朋友圈高性能复杂度分析

李大虾

#架构实战营 「架构实战营」

[架构实战营] 模块七作业

Geek_0ed632

「架构实战营」

模块六作业-拆分电商系统为微服务

CH

#架构实战营 「架构实战营」

回归分析中的道与术

whatever

数据分析预测

模块六

Geek_59dec2

架构

架构实战营 4 期第六模块作业

jialuooooo

架构实战营

「按需引入」的多种实现方式

百瓶技术

前端 webpack babel 按需加载

Bug Bash:Bug大扫除的正确用法

石云升

bug 1月月更 Bug Bash

模块六作业

Anlumina

架构实战营

Linux之kill命令

入门小站

Linux

第六周作业

cqyanbo

架构实战营第 4 期第 6 课作业:拆分电商系统为微服务

owl

架构实战营

PyTorch:常见错误 inplace operation

强劲九

Python 人工智能 机器学习 深度学习 PyTorch

百度吴甜做客央视《对话》:AI技术加持显著降低数字人生产成本

百度大脑

架构实战营 第 4 期 模块六作业

架构实战营 模块六 「架构实战营」

架构训练营模块六作业

沈益飞

架构训练营

架构实战营4期-模块6作业

木几丶

「架构实战营」

拆分电商系统为微服务

AUV

「架构实战营」

聊聊 JDBC 的 executeBatch || 对比下不同数据库对 JDBC batch 的实现细节

明哥的IT随笔

数据库 性能优化 MySQL 数据库

架构实战营模块六作业

zhongwy

架构实战营

跟着Apple、Google大佬学优化

admin

小程序 微信 性能优化 缓存;

2022新年Flag:用未来可能会发生的事情推断今天该做的事

宇宙之一粟

flag 1月月更

使用Cloud Application Programming模型开发OData的一个实际例子

汪子熙

API abap Cloud Studio 1月月更

【优化技术专题】「系统性能调优实战」终极关注应用系统性能调优及原理剖析(上册)

码界西柚

Linux 性能调优 1月日更 系统优化 技术分析

【架构实战营】模块六:命题作业

wgl

「架构实战营」

中间件厂商宝兰德加入,龙蜥社区迎来新伙伴

OpenAnolis小助手

Linux 开源

儿童成长自律表

wood

300天创作

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