写点什么

Go 1.10 改进了工具链和性能

2018 年 3 月 04 日

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Go 最新的 1.10 版并未在语言层面做出任何重大变更,而是在工具链、Go 运行时和标准库上做了一系列的改进。

Go 1.10 中的一个重大改进是缓存了构建结果,同时可以更好地检测过期软件包。具体而言,Go 不再依赖于文件的修改时间去判断该文件是否需要做重编译,而是根据文件的内容、构建标志以及存储在编译后软件包中的元数据做出重编译的决策。这样,没有必要再指定原先用于强制重构建的“-a”标识。缓存构建包意在进一步优化构建时间,特别是当开发人员在一组构建标识或源代码版本和分支之间来回切换时。

与缓存构建类似,现在go test命令也对成功测试的结果做缓存。一旦go test检测到当前测试的可执行文件和命令行参数与上一次运行测试中所使用的匹配,那么命令将只输出缓存的测试结果。

通过允许嵌套调用 LockOSThread UnlockOSThread ,Go 1.10 运行时已可安全操作 Linux 命名空间。这意味着 Goroutines 现在可用于容器,排除了一些影响先前 Go 版本的障碍

此外,通过在更长时间跨度上使用更小部分的CPU,Go 运行时改进了垃圾回收的分配延迟,同时不会对整体CPU 消耗产生影响。

还应指出的是,Go 的性能受益于垃圾回收的改进、标准库的优化,以及更好的代码生成。

根据Go 团队的说法,主版本号如预期一样并没有发生变化,Go 1.10 可与大部分使用先前1.x 版本编译的程序保持兼容。

在Go 1.10 中还引入了大量的改进,在此无法一一列举。完整细节可查看官方的发行说明

查看英文原文: Go Language 1.10 Improves Toolchain and Performance

2018 年 3 月 04 日 18:003048
用户头像

发布了 378 篇内容, 共 96.8 次阅读, 收获喜欢 223 次。

关注

评论

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

在多人音视频聊天中插入现场直播

anyRTC开发者

android 前端 音视频 WebRTC RTC

SumSwap与金色财经共为 首席创新合作大会在上海拉开帷幕

币圈资讯

如何实现屏幕共享时的多人实时标注?

拍乐云Pano

windows Electron RTC

Linux scp 命令

一个大红包

4月日更

科技“智”造:智慧工厂这样规划,既高效又节能

一只数据鲸鱼

数据可视化 工业物联网 智慧园区 智慧工厂

国人开源的运维监控系统——WGCLOUD

王逅逅

运维 Grafana Prometheus zabbix 开源项目

云智一体 AI开发模式打造电力行业的智慧化范本

百度大脑

云计算 智能云

强化区块链应用 破解知识产权运营难题

CECBC区块链专委会

区块链

世界五百强第一的沃尔玛在用区块链做什么

CECBC区块链专委会

区块链

想快速重构智慧园区5A系统,这份方案推荐给你

华为云开发者社区

系统 智慧园区 HDC.Cloud 2021 端边云协同架构 南向系统

EGG NETWORK公链阿凡提以“完全开放式自治”的唯一标准搭建New-DeFi链上生态EFTalk

币圈那点事

事务隔离级别实战学习

U+2647

事务隔离级别 事务 四月日更

从金融到物联网 区块链的落地应用将如何改变世界?

CECBC区块链专委会

区块链

“区块链新基建”可否发展可信平台?

电微13828808271

区块链+ 区块链新基建

区块链给普通人带来的机会!

CECBC区块链专委会

区块链

「开源免费」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之序列号自定义组件(四)

crudapi

Vue crud crudapi 序列号 quasar

区块链BaaS服务平台开发,助推中小企业快速落地

13828808769

区块链+ #区块链#

公安合成作战平台建设解决方案,智慧警务情报研判系统开发

WX13823153201

传统金融体系vs新金融体系,区块链改变了什么?

CECBC区块链专委会

金融

关于Go语言,你不得不知的并发模式!

博文视点Broadview

构建从目标到研发过程的全生命周期管理体验

PingCode

敏捷开发 研发管理 Jira Atlassian 敏捷开发管理 研发工具

Vue3教程:Vue 3.x 快在哪里?

十三

Vue Vue3 Vue 3

集客业务支撑领域标准化产品套件“火麒麟”的配置化能力提升之路

鲸品堂

产品 解决方案 运营商

文字识别:关键信息提取的3种探索方法

华为云开发者社区

深度学习 文字识别 图结构 关键信息提取 栅格

如何只用一个小时定制一个行业AI 模型?

华为云开发者社区

自然语言处理 华为云 hdc ModelArts Pro AI 模型

构建基于Spring Cloud向Service Mesh框架迁移的解决方案及思路

xcbeyond

架构 云原生 Spring Cloud Service Mesh 解决方案

释放千行百业数据价值,华为云DAYU有一套

华为云开发者社区

大数据 数据湖 华为云 数据价值 dayu

“区块链+”司法合约,电子认证不造假

电微13828808271

区块链+

Python OpenCV 图片模糊操作 blur 与 medianBlur

梦想橡皮擦

Python OpenCV 4月日更

并发的HashMap为什么会引起死循环?

Java小咖秀

hashmap 并发 并发容器

maven中心仓库OSSRH使用简介

程序那些事

Java maven 程序那些事

Go 1.10改进了工具链和性能-InfoQ