TypeScript 编译器 Go 重写版提速 10 倍:微软团队深度揭秘幕后工程细节

本文永久链接 – https://tonybai.com/2026/01/27/typescript-compiler-go-rewrite-10x-speed-microsoft-details 大家好,我是Tony Bai。 “JavaScript 是一门很棒的语言,但它并不是为了编写编译器而设计的。” 备受瞩目的 TypeScript 编译器 Go 重写版(代号 TypeScript 7.0)已经取得了惊人的 10 倍性能提升。在最近的 GopherCon 2025 上,来自 Microsoft TypeScript 团队的 Jake Bailey 带来了一场干货满满的分享,深度揭秘了这场跨语言大迁徙背后的工程挑战与技术细节。 ...

January 27, 2026 · 8 min · Tony Bai

PGO 驱动的“动态逃逸分析”:w.Write(b) 中的切片逃逸终于有救了?

本文永久链接 – https://tonybai.com/2025/11/13/proposal-dynamic-escapes 大家好,我是Tony Bai。 io.Writer,这个在 Go 语言中无处不在的神圣接口,其背后却隐藏着一个困扰了性能敏感型开发者多年的“隐形成本”。当你将一个在函数内创建的字节切片 b 传递给 w.Write(b) 时,这个切片几乎总是会逃逸 (Escape) 到堆上,导致一次不必要的内存分配。 ...

November 13, 2025 · 5 min · Tony Bai

来自 Go 创始人的忠告:这五条关于“复杂性”的法则,比算法更重要

本文永久链接 – https://tonybai.com/2025/11/10/rob-pike-on-complexity 大家好,我是Tony Bai。 在软件工程的殿堂里,我们常常将算法和数据结构奉为圭臬。我们痴迷于时间复杂度的优化,热衷于讨论各种精巧的数据结构。然而,Go 语言的联合创始人 Rob Pike 早在其1989年的一篇C 语言编程笔记中,就为我们留下了一份更根本的“忠告”。这份忠告,凝练为五条(或者说六条?)关于如何对抗软件“复杂性”的黄金法则。 ...

November 10, 2025 · 6 min · Tony Bai

系统设计的“元素周期表”:40个横跨所有领域的通用设计原则

本文永久链接 – https://tonybai.com/2025/07/31/periodic-table-of-system-design 大家好,我是Tony Bai。 近日,一篇名为《系统设计的元素》(Elements of System Design)的论文引发社区热议。它的目标宏大且吸睛:通过梳理上百篇横跨操作系统、数据库、分布式系统等领域的经典论文,提炼出一套通用的系统设计原则“元素周期表”。 ...

July 31, 2025 · 16 min · Tony Bai

告别手写汇编:Go官方提出原生SIMD支持,高性能计算将迎来巨变

告别手写汇编:Go官方提出原生SIMD支持,高性能计算将迎来巨变 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

June 9, 2025 · 8 min · Tony Bai

自定义Hash终迎标准化?Go提案maphash.Hasher接口设计解读

自定义Hash终迎标准化?Go提案maphash.Hasher接口设计解读 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

April 17, 2025 · 9 min · Tony Bai

探索Go gcflags的使用模式与完整参数选项列表

探索Go gcflags的使用模式与完整参数选项列表 - Tony Bai =============== Tony Bai 一个程序员的心路历程 Google Go语言编码风格规范 ...

January 22, 2025 · 7 min · Tony Bai

惊!Go在十亿次循环和百万任务中表现不如Java,究竟为何?

本文永久链接 – https://tonybai.com/2024/12/02/why-go-sucks 编程语言比较的话题总是能吸引程序员的眼球! 近期外网的两篇编程语言对比的文章在国内程序员圈里引起热议。一篇是由Ben Dicken (@BenjDicken) 做的语言性能测试,对比了十多种主流语言在执行10亿次循环(一个双层循环:1万 * 10 万)的速度;另一篇则是一个名为hez2010的开发者做的内存开销测试,对比了多种语言在处理百万任务时的内存开销。 ...

December 2, 2024 · 16 min · Tony Bai

Go,15岁了[译]

Go,15岁了[译] | Tony Bai Tony Bai一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ 关于我 文章列表 Go,15岁了[译] 十一月 12, 2024 0 条评论 ...

November 12, 2024 · 6 min · Tony Bai

Go编译的几个细节,连专家也要停下来想想

本文永久链接 – https://tonybai.com/2024/11/11/some-details-about-go-compilation 在Go开发中,编译相关的问题看似简单,但实则蕴含许多细节。有时,即使是Go专家也需要停下来,花时间思考答案或亲自验证。本文将通过几个具体问题,和大家一起探讨Go编译过程中的一些你可能之前未曾关注的细节。 ...

November 11, 2024 · 17 min · Tony Bai