写点什么

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

  • 2013-06-27
  • 本文字数:728 字

    阅读完需:约 2 分钟

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-06-27 10:472493
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

MySQL深分页问题原理与三种解决方案

Java MySQL 数据库

Golden Gate(GGX)开发者见解与创新DeFi应用

股市老人

我懵了,如果要存 IP 地址,用什么数据类型比较好?

Java你猿哥

Java MySQL 数据库 ssm IP

MATLAB与Simulink

袁袁袁袁满

三周年连更

分布式事务的21种武器 - 4

俞凡

架构 云原生

基于Alpine制作Tomcat的Docker镜像

清康

运行第一个程序Hello world

鸿蒙之旅

OpenHarmony 三周年连更

一文看懂:性能监控神器JavaMelody

后台技术汇

三周年连更

Bash脚本中的Sleep命令到底有何妙用?

wljslmz

三周年连更

MySQL面试八股文:索引篇

Java你猿哥

Java MySQL ssm 索引 八股文

面试不再慌!苦学这份2023最全的Java性能优化实战笔记,已涨17k

Java你猿哥

Java 面试 JVM 多线程 Java性能优化

太强了!牛客网开源1240页字节算法实录,无意中掀起GitHub刷题热潮

Java 数据结构 算法 LeetCode

分布式事务的21种武器 - 5

俞凡

架构 云原生

Python的常见数据结构

timerring

Python

字节速通!这份软件测试八股文还怕不能拿offer?你值得拥有

Java你猿哥

MySQL 面试 软件测试 计算机 八股文

变量,常量以及与其他语言的差异

乌龟哥哥

三周年连更

程序性能提高了5倍!开源阿里500页的Java程序优化笔记

Java你猿哥

Java 面试 性能优化 Java虚拟机 Java性能优化

SpringBoot核心配置全面总结

小小怪下士

Java 程序员 后端 springboot

围绕应用的云原生转型建设

穿过生命散发芬芳

云原生 三周年连更

Java8 lambda 表达式 forEach 如何提前终止?

Java你猿哥

Java ssm java8 foreach

https和http有什么区别?

海拥(haiyong.site)

三周年连更

程序员如何应对失业? | 社区征文

石云升

职业规划 三周年征文 三周年连更

自动化与DevOps

阿泽🧸

自动化 三周年连更

什么是 Intelligence Enterprise 的 Business network?

汪子熙

人工智能 机器学习 数字化转型 三周年连更

面试官:一千万的数据,你是怎么查询的?

为什么《魂斗罗》只有128KB却可以实现那么长的剧情?

Java你猿哥

Java 编程 程序员 汇编语言 优化技术

速通字节!阿里p8耗时6个月打造的java面试手册,看到直呼“面试有手就行”

Java你猿哥

Java spring 微服务 JVM 多线程

Redis数据类型及底层大剖析

Java 数据库 redis 缓存

Java 数组在内存中的结构是怎样的?数组访问、遍历、复制、扩容、缩容如何编写代码?

Java架构历程

Java 数组 三周年连更

Go 1.1.1发布 引入竞争检查工具_语言 & 开发_Jeff Martin_InfoQ精选文章