写点什么

Go 1.1.1 发布 引入竞争检查工具

2013 年 6 月 27 日

Go 1.1 是该语言的一个主要发布版本,在 beta 测试期间,它又带来了一些新特性。只要重新编译代码,开发者就能体验该版本带来的好处。其他特性则需要使用新的库或模式。

性能

如果想看一下性能增长相关的详细信息,可以参考 Go 的贡献者 Dave Cheney 的博客。他撰写了一系列深度文章,详细介绍了 Go 1.1 的性能增长情况。在第1 部分,Cheney 使用Linux/AMD64 平台进行了测试,在1.1 版本上,大多数基准测试的速度都有所提高。有趣的是,Gzip 和GobEncode 的性能略有退化。Cheney 对net/http 包所做的基准测试表明,所有测试都有所改进。但需要说明的是,在Windows 和FreeBSD 平台上的性能与Linux 平台并不匹配,这一状况到 Go 1.2 发布时会有所改观。Cheney 还有几篇文章详细说明了在 i386 ARM (包括 Raspberry Pi)上的结果。

处理数据竞争

Go 的工具箱有了很大的增强,这就是用于调试内存同步错误的 Race detector 。在多线程系统中,当两个或多个线程试图同时操作某个数据结构时,竞争条件就出现了。我们可以看一下 Go 的明确说明:“当两个 goroutine 并发访问同一个变量,并且至少有一个访问是写操作时,数据竞争就出现了。”因为这种 bug 的特殊性质,定位和修复往往非常困难,而 Race detector 这一新工具力图简化该过程。这一工具目前可用于 64 位 x86 架构上的 Windows、Linux 和 Mac OS X 等平台。

获得 Go

Go 主要支持的平台包括 FreeBSD、Linux、Mac OS X、Windows 和 NetBSD。支持的硬件平台包括 i386 和 AMD64 架构,FreeBSD 和 Linux 还支持 ARM 架构。 golang.org 网站上提供了 Go 的安装指令,也可以从该网站直接下载 Go。(请注意,当前的版本是 Go 1.1.1,它在 1.1 主要发布版本的基础上修复了一些小bug 。)

查看英文原文: Go 1.1 Races Ahead (Safely)

2013 年 6 月 27 日 10:471655
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 116.5 次阅读, 收获喜欢 25 次。

关注

评论

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

在 Emit 代码中如何await一个异步方法

八苦-瞿昙

Spring 源码学习 12:registerBeanPostProcessors

程序员小航

Java spring 源码

甲方日常 78

句子

工作 随笔杂谈 日常

第六周命题作业

cc

第六周学习心得

cc

Week11总结

lggl

架構師訓練營 大作業一

ilake

系统安全高可用总结

Mars

系统高可用原因分析&方案

Mars

架构师训练营第 11 周学习总结

菜青虫

第九周 作业1

Mr_No爱学习

第十一周课后练习

晴空万里

架构师训练营第 11 周课后练习

菜青虫

指令重排序、内存屏障很难?看完这篇你就懂了!

Java鱼仔

Java 程序员 面试 JMM 指令重排序

第九周-学习总结

Mr_No爱学习

架构师训练营 1 期:大作业(一)

piercebn

架构师训练营第 1 期

SAML和OAuth2这两种SSO协议的区别

程序那些事

权限系统 OAuth2 程序那些事 SAML SSO

第一周架构方法-周总结

潘涛

架构师第一周总结

永不言弃

架构师训练营第一周作业-命题作业

阿德儿

架构师训练营第十一周笔记

李日盛

笔记

分析了2020年3万多条的微博热搜,我看到了什么

CoderW

Python 程序人生 爬虫 后端 微博热搜

食堂就餐卡系统设计

永不言弃

架构

架构师训练营第十一周作业

丁乐洪

数据爬虫

RainGod

爬虫

架構師訓練營 大作業二

ilake

上地七街

潇潇雨歇

LeetCode题解:264. 丑数 II,暴力法,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

北极科考:我们为什么要在北极呆上一年?

脑极体

架构师训练营第六周课后作业

万有引力

物联网基础知识整理及实战

garlic

物联网

Go 1.1.1发布 引入竞争检查工具-InfoQ