Go 性能诊断工具大变天?Race 检测有望进生产,Trace 秒开不是梦!
Go 性能诊断工具大变天?Race 检测有望进生产,Trace 秒开不是梦! - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...
Go 性能诊断工具大变天?Race 检测有望进生产,Trace 秒开不是梦! - Tony Bai Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...
本文永久链接 – https://tonybai.com/2025/11/10/rob-pike-on-complexity 大家好,我是Tony Bai。 在软件工程的殿堂里,我们常常将算法和数据结构奉为圭臬。我们痴迷于时间复杂度的优化,热衷于讨论各种精巧的数据结构。然而,Go 语言的联合创始人 Rob Pike 早在其1989年的一篇C 语言编程笔记中,就为我们留下了一份更根本的“忠告”。这份忠告,凝练为五条(或者说六条?)关于如何对抗软件“复杂性”的黄金法则。 ...
本文永久链接 – https://tonybai.com/2025/10/16/cpu-cache-friendly-in-go 大家好,我是Tony Bai。 “现代 CPU 很快,而内存很慢。” 这句看似简单的陈词滥调,是理解现代高性能编程的唯一“真理”。我们常常致力于优化算法的时间复杂度,却忽略了一个更为根本的性能瓶颈:数据在内存和 CPU 缓存之间的移动。一次 L1 缓存的命中可能仅需数个时钟周期(~1ns),而一次主内存的访问则需要超过上百个周期(~100ns),这之间存在着超过 100 倍的惊人差距(2020年数据,如下图,近些年内存速度提升,但与L1缓存相比依旧有几十倍的差距)。 ...