写点什么

Google 的 Go 语言速度提升

  • 2014-06-25
  • 本文字数:730 字

    阅读完需:约 2 分钟

在经过三个月的公开测试后,Go 语言 1.3发布了。相对于 1.2,新版本在语言方面没有变化,主要带来了性能提升,支持在原生客户端下运行命令行程序,以及其他一些增强。

最有趣的一些性能和实现上的变化:

  • Go 语言运行时的栈从分段内存模型改成了连续内存模型
  • 垃圾回收更快了:使用并发的清理算法,这种算法能更好地并行处理垃圾回收,具有更大的内存页;垃圾回收带来的停顿时间下降了 50-70%。现在也已经可以精确地查看栈上的变量值了
  • 运行时库更高效地处理 defer 语句
  • 竞争检测器速度提升了 40%
  • Regexp (正则表达式的软件包)现在有了一个新的执行引擎,它使用 one-pass 算法,能更快地执行特定的简单的表达式
  • sync.Pool :一种新的类型,对于可能被系统回收内存的缓存,这种类型提供了高效的实现机制
  • 对小型 map 数据类型(不超过 8 个元素)的迭代不再以固定的顺序进行,这么做是为了防止开发人员写的代码依赖于迭代顺序,因为这种代码只有在特定的系统上才能正常工作

还有一些工具方面的改进:

  • godoc 现在可以对它索引的代码进行静态分析
  • 用 Go 语言重写了 misc/benchcmp (性能测试工具)
  • 重构了编译器和链接器,指令选择阶段被移到了编译器中,这样做能加速大型项目的增量编译时间
  • gc 工具链现在支持在英特尔的 32 位和 64 位体系结构上使用原生客户端(NaCI)执行沙箱。注意 Go 1.3 产生的二进制文件还是不能在 Google Chrome 中直接执行

还修复了 crypto/tls 的一个安全问题

你可以从发行说明中获得所有更新的更多信息。

查看原文链接: http://www.infoq.com/news/2014/06/go-1-3


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-06-25 08:473909
用户头像

发布了 77 篇内容, 共 36.4 次阅读, 收获喜欢 26 次。

关注

评论

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

已献出膝盖!GitHub上的宝藏级SpringBoot核心文档,讲得太清晰了

Geek_0c76c3

Java 数据库 开源 程序员 开发

测试工程师六大能力模型

霍格沃兹测试开发学社

Vue.$nextTick的原理是什么-vue面试进阶

bb_xiaxia1998

Vue

Google 测试总监聊如何经营成功的测试职业生涯

霍格沃兹测试开发学社

前端几个常见考察点整理

beifeng1996

React

防窜货管理如何更智能? VoneTracer新功能给你答案!

旺链科技

区块链 溯源 产业区块链

【LeetCode】链表组件Java题解

Albert

算法 LeetCode 10月月更

React-Hooks怎样封装防抖和节流-面试真题

beifeng1996

React

字节算法大神手写的算法笔记,曾连续多次霸榜 GitHub Trending 首页

Geek_0c76c3

Java 数据库 开源 程序员 开发

扬帆出海,亚马逊云科技如何助力神策数据从0到1快速布局独立站出单?

Lily

vue面试常见考察点总结

bb_xiaxia1998

Vue

厉害!年薪近百万架构师保姆式讲解的这份Spring源码笔记,绝绝子

Geek_0c76c3

Java 数据库 开源 程序员 开发

测试过程中遇到的那些奇葩bug

霍格沃兹测试开发学社

阿里新一代微服务,内部大佬手抄的笔记+脑图不容错过,全是精华

Geek_0c76c3

Java 数据库 开源 程序员 开发

C#使用Spire.PDF依赖,PDF转Word,Excel,Html代码分析

IC00

C# 学习 程序员 上位机 10月月更

DAM的神奇力量,看亚马逊云科技如何助力特赞以内容驱动增长?

Lily

Github星标百万!终于有人将Spring技术精髓收录成册

Geek_0c76c3

Java 数据库 开源 程序员 开发

数据结构学习,链式队列

IC00

学习 数据结构 算法 学习笔记 10月月更

Vue是怎样监听数组的变化的?

bb_xiaxia1998

Vue

Java or Python?测试开发工程师如何选择合适的编程语言?

霍格沃兹测试开发学社

视频中为什么需要这么多的颜色空间?

百度Geek说

计算机视觉 音视频 企业号十月 PK 榜

Springboot使用 prometheus监控

琦彦

监控 Prometheus springboot 10月月更

有一说一!你背的MySQL八股文可能存在错误的结论

Java永远的神

MySQL 数据库 程序人生 Java 面试 架构师

MySQL持续霸榜,《高性能MySQL》第4版追新巨献!

博文视点Broadview

给想转Go或者Go进阶同学的一些建议

王中阳Go

php Go web java 编程 #go 10月月更

告诉你个广告业务存储神器

华为云开发者联盟

数据库 广告 华为云 企业号十月PK榜

对最近火热的“DevOps已死”的回应

Jianmu

DevOps 敏捷开发 软件危机 自动化运维

技术分享 | 代码覆盖率集成

霍格沃兹测试开发学社

技术分享 | 做到这几点,你也能成为 BAT 的抢手人!

霍格沃兹测试开发学社

如何从 0 开始学 Python 自动化测试开发(一)

霍格沃兹测试开发学社

STM32L051测试 (四、Flash和EEPROM的读写)

矜辰所致

EEPROM Flash STM32L051 10月月更

Google的Go语言速度提升_开源_Roopesh Shenoy_InfoQ精选文章