2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

倒计时1天 | 超百位技术大咖齐聚开发者大会,与全球开发者一起“数聚未来”

OceanBase 数据库

OceanBase 开源 开发者大会

服务发现与配置管理高可用最佳实践

阿里巴巴云原生

阿里云 微服务 高可用 云原生 MSE

数据分析人员需要掌握SQL到什么程度?3个常考题目刷一刷

博文视点Broadview

一个cpp协程库的前世今生(十一)等待与返回值

SkyFire

c++ cocpp

Kafka往事——揭露Kafka推出Kafka Streams背后原因

Kafka中文社区

一键抠除路人甲,昇腾CANN带你识破神秘的“AI消除术”

华为云开发者联盟

CANN 昇腾 图像消除 智能实例分割 CRA算法

Apache APISIX 结合 Authing 实现集中式身份认证管理

API7.ai 技术团队

api 网关 Apache APISIX Authing 身份验证

Java Jackson 中的 mapper

HoneyMoose

设计模式【8】-- 手工耿教我写装饰器模式

秦怀杂货店

Java 设计模式 装饰器

盘点 2021| 不忘初心,未来之路,与君共勉

法医

前端 盘点 2021

netty系列之:真正的平等–UDT中的Rendezvous

程序那些事

Java Netty 程序那些事 1月月更

工作中遇到的50个JavaScript的基础知识点

Sunshine_Lin

面试 前端 进阶 基础

使用LNMP环境部署码云测试项目

咿呀呀

lnmp

《LeetCode刷题》数组与队列

IT蜗壳-Tango

IT蜗壳教学 1月月更

面试突击13:方法优先调用可选参数还是固定参数?

王磊

java面试 2022

教你实现一个 iOS 重签名工具

37手游iOS技术运营团队

ios xcode

关于ant design pro的权限方案设计

袋鼠云数栈

大数据

开源实践 | 携程在 OceanBase 的探索与实践

OceanBase 数据库

OceanBase 开源 客户案例 携程

Java Jackson 中的 JsonNode 和 ObjectNode

HoneyMoose

error: ‘slots_reference’ was not declared in this scope

Ayosh

OpenCV

Spring Boot工程中如何优雅地处理异常

sean77

spring 整洁代码

AWS 上传的 S3 文件重新载入的时候简体中文显示乱码

HoneyMoose

【LeetCode】 替换所有的问号Java题解

Albert

算法 LeetCode 1月月更

ReactNative进阶(四):ReactNative 原理剖析之JS 层渲染 diff 算法

No Silver Bullet

React Native 渲染性能 1月月更

阿里云万郁香:多样付费选择构筑成本最优的弹性体验

阿里云弹性计算

阿里云 年度峰会 付费方式

一篇从购买服务器到部署博客代码的详细教程

冴羽

nginx 前端 后端 博客 博客搭建

kubelet 的主动驱逐POD

Geek_f24c45

Kubernetes kubelet

杜甫草堂

wood

300天创作

【LeetCode】奇偶树Java题解

Albert

算法 LeetCode 1月月更

Kubernetes生态,从繁荣走向碎片化

巨子嘉

容器 云原生

明道云虹桥演示中心,欢迎进店!

明道云

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