写点什么

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

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

关注

评论

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

Android |《看完不忘系列》之Retrofit

哈利迪

android

STM32-ADC简单学习笔记

 

firewalld 常用指令

wong

Firewalld

自从有了语音开黑小能手,队友再也不会骂我了!

anyRTC开发者

WebRTC 在线教育 直播 RTC RTMP

写作只是消遣?

Geek_db1689

写作 讨论写作 自我感悟 瞎想乱写

别人家的 DevOps 流水线,价值一个亿

Atlassian

DevOps 数字化转型 金融 Jira 数字银行

CentOS7 开启3306端口

暴躁小李K

Centos 7 Firewalld防火墙 Liunx

Apache Pulsar 社区周报:08-08 ~ 08-14

Apache Pulsar

Apache Apache Pulsar 消息系统

区块链政策区域特征分明 产业园区渐成聚集效应

CECBC

区块链 新基建

免费开源看板软件Wekan安装与使用记录

emuqi

Docker 效率工具 wekan 看板 任务管理

全站加速在互联网媒体应用上的最佳实践

阿里云Edge Plus

CDN

为什么考研,考研能给你带来什么?说说我的感受!

我是程序员小贱

区块链在新冠病毒爆发中将加速发展

CECBC

区块链技术 供应链 食品追溯

数据库快速迁移10亿级数据

架构师修行之路

高并发系统设计 数据库优化

Python中的bytes、str以及unicode区别

wangkx

Python Python PEP

Dell G7 指纹识别设备 - Goodix fingerprint 失效官方解决办法(图文)

Saint_X

硬件

辗转相除法求最大公约数(C语言实现)

InfoQ_3f366696ed0c

C语言

量纲分析(Dimensional Analysis)入门

InfoQ_b5c13aa54782

数学 基础 物理 量纲分析 电磁

随手记

InfoQ_0d79a8bcf933

数据结构与算法

局域网文件共享

冰糖雪梨多冰少糖

局域网共享 iPad air3 文件传输

兄弟,不要偷看人家摄像头

我是程序员小贱

特性预览:Apache 顶级项目 Apache Pulsar 2.6.1 版本即将发布

Apache Pulsar

Apache Apache Pulsar 消息系统

低/零代码干掉了传统的开发模式

代码制造者

编程语言 低代码 零代码 信息化 编程开发

集成学习方法及应用,破解AI实践难题

博文视点Broadview

人工智能 学习 AI 周志华

DB-Engines 8 月数据库排名:Redis悄悄拔高,猛超Elasticsearch

华章IT

MySQL 数据库 redis Clickhouse SQL优化

用python给女朋友做一个歌曲词云图

我是程序员小贱

谈一谈Kuberflow

soolaugust

tensorflow 学习 kubeflow Kubernetes 云原生

小白程序员成长之路-准备篇

Mr.Cactus

盲打练习 在线打字

架构设计篇之云计算服务设计与决策

小诚信驿站

云计算 刘晓成 企业架构和云服务 SaaS/IaaS/PaaS

企业品尝新基建的美酒前,需要名为NetEngine 8000的酒杯

脑极体

简单交互式页面的思考(C)

Alex

指针 C语言 交互设计

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