写点什么

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

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

关注

评论

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

流程引擎介绍

上海派拉基础研发

流程

算法题目解析:从一道题目看动态规划

程序员架构进阶

算法 动态规划 28天写作 4月日更

借力云原生,预见医学影像“云阅片”和电子胶片的未来 | 精选案例

亚马逊云科技 (Amazon Web Services)

对话亚马逊云科技 WWSO 团队四位大咖,给你讲讲他们的职场故事~

亚马逊云科技 (Amazon Web Services)

Android Camera开发系列:设置对焦模式模式

小驰笔记

Camera; Android;

不要给自己留后路

小天同学

人生 个人感悟 成功 4月日更

连续三年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开

阿里巴巴中间件

重读《重构2》- 搬移函数

顿晓

重构 4月日更

中国脑科学的十年行旅

脑极体

你不一定全知道的四种Python装饰器实现详解

老猿Python

Python 编程语言 装饰器 程序开发

什么是产品思维和产品意识?——课程总结

Deborah

【论文分享】Presto: SQL on Everything(一)

小舰

4月日更

什么情况下要招人?

石云升

团队建设 28天写作 职场经验 管理经验 4月日更

自从有了他,再也没有担心过环境部署~

MY

部署与维护

阿里开发7年大牛:只需一篇文章吃透Android多线程技术,好文推荐

欢喜学安卓

android 程序员 面试 移动开发

Ask Me Anything #1 我是新晋CNCF TOC张磊,你有什么想问我的?

阿里巴巴云原生

容器 开发者 运维 云原生 k8s

悟透前端:JavaScript ES6模块的导入导出

devpoint

ES6 export export default

王霸雄图荣华敝屣,谈笑间尽归尘土|基于Python3双队列数据结构搭建股票/外汇交易匹配撮合系统

刘悦的技术博客

数据结构 算法 Python3 匹配 股票系统

Ansible 命令行工具

耳东@Erdong

4月日更

架构训练营——作业 2

架构实战营

免费开源增强版 Elasticsearch 分支 OpenSearch 项目上线!现邀您加入开源社区!

亚马逊云科技 (Amazon Web Services)

websocket简析

风翱

websocket 4月日更

网络协议学习笔记Day1

穿过生命散发芬芳

网络协议 4月日更

NumPy之:数据类型

程序那些事

Python 数据分析 Numpy 程序那些事

Python OOP-1

若尘

面向对象 oop 面向对象编程 Python编程

rrxjava原理,手持4个大厂offer的我,吊打面试官系列!

欢喜学安卓

android 程序员 面试 移动开发

IPFS云算力挖矿系统开发|Filecoin算力挖矿搭建

薇電13242772558

区块链 存储

Oracle LogMiner 数据迁移实战

yintianwen

Java 数据库 后端 数据迁移 LogMiner

Flutter Slidable 列表侧滑菜单 列表侧滑删除

早起的年轻人

flutter

10 亿数据量只需要 100MB 内存,Redis 的位存储为什么这么牛?

Java小咖秀

redis 原理 位运算 bit 高级特性

一个码砖的码农,在InfoQ写一年博客,出书了?

小傅哥

Java 设计模式 小傅哥 架构设计 码农出书

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