写点什么

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

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

关注

评论

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

什么是“根创新”?从公交支付用上国产数据库说起

OceanBase 数据库

TiFlash 表达式的实现与设计

TiDB 社区干货传送门

Bytebase 部署体验总结 & 评选结果

Bytebase

数据库 体验官

应用日志采集是什么意思?批量采集应用日志软件用哪个?怎么操作?

行云管家

日志采集 IT运维 行云管家 应用日志

去中心化交易所swap系统开发功能以及逻辑分析

开发微hkkf5566

RT-Thread记录(十六、SFUD组件 — SPI Flash的读写)

矜辰所致

RT-Thread 8月月更 SFUD SPI设备

实战-记录一次大版本升级

TiDB 社区干货传送门

新版本/特性解读

历时10个月,1300+队伍参赛 第二届HarmonyOS开发者创新大赛奖项揭晓

Geek_2d6073

C/CPP基础练习题(一)运算符,判断

CtrlX

c c++ C# 8月月更

参加java培训和自学技术有什么区别

小谷哥

PCTP考试学习笔记之一:深入TIDB体系架构(上)

TiDB 社区干货传送门

管理与运维 TiDB 源码解读 TiKV 源码解读 TiKV 底层架构

看完年薪30W~120W程序员分别需要掌握的技能栈,我彻底悟了!

程序员小毕

Java 程序员 程序人生 后端 架构师

开放下载 | 飞天技术峰会-云原生加速应用构建分论坛资料开放下载

阿里巴巴云原生

阿里云 云原生

动态线程池的9个应用场景你见过几个?

程序员小毕

Java 程序员 面试 程序人生 线程池

OceanBase 亮相2022全国CIO大会,荣获“2022年度CIO信赖品牌”

OceanBase 数据库

融云移动办公协同平台,助力政企数智化转型升级

融云 RongCloud

企业 即时通讯

PCTP考试学习笔记之一:深入TIDB体系架构(下)

TiDB 社区干货传送门

TiDB 底层架构 管理与运维 TiDB 源码解读 TiKV 源码解读

前端开发技术培训班靠谱吗

小谷哥

TCP异常场景:三次握手四次挥手丢包情况解析

Java全栈架构师

程序员 面试 TCP 计算机网络 秋招

swap去中心化交易所系统开发技术分析

开发微hkkf5566

上游sql通过drainer同步到kafka时在kafka中是什么样子的

TiDB 社区干货传送门

实践案例 管理与运维 版本测评 大数据场景实践 实时数仓场景实践

运维审计是什么意思?有什么作用?用什么软件好?

行云管家

运维 审计 IT运维 运维审计

大数据培训可以成为优秀工程师吗?

小谷哥

java学习过程中要注意哪些方面?

小谷哥

2022 全球 AI 模型周报

Zilliz

人工智能 深度学习 计算机视觉

多种姿势搞定Tidb集群监控大屏

TiDB 社区干货传送门

监控

数字化转型新CP:云原生+边缘计算 实践分享

York

容器 云原生 数字化转型 边缘计算 边云协同

我吐了!一个奇葩的线上问题,导致我排查了一天

Java永远的神

Java 程序员 面试 程序人生 后端

pd-ctl 选项 --jq 格式化语法使用案例详解

TiDB 社区干货传送门

性能调优 实践案例 管理与运维 扩/缩容

零基础学员如何参加大数据培训?

小谷哥

SENSORO 智慧城市平台中的延时队列设计

SENSORO

大数据 物联网 智慧城市 延时队列

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