huizhou92

huizhou92

tech

Go 1.26 黑科技:跳过 GC 直接释放内存,性能飙升 200%

最近,Go 语言社区围绕一个全新的内存管理提案展开了激烈讨论:在不依赖垃圾回收 (GC) 的情况下直接释放并重用内存。#74299 引入了 runtime.free 及相关机制,试图让编译器和标准库在特定场景下安全地跳过 GC,对短命的内存对象进行即时回收利用github.comgo.googlesource.com。此举被认为可能为 Go 带来一次性能上的革命:初步原型显示,在 strings.Builder 这样的场景中,利用该机制性能提升可达 2 倍github.com。本文将回顾 Go 内存管理领域从 arena 实验到 memory region 构想,再到 runtime.free 提案的探索之旅,并剖析这一新提案的技术细节、产生的意义、演化过程,以及对普通开发者的影响。 runtime.free 将在 Golang1.26

By huizhou92
HTTP/3:看似无处不在,实则难觅踪影

tech

HTTP/3:看似无处不在,实则难觅踪影

HTTP/3 的研发至少可追溯至 2016 年,而其底层传输协议 QUIC 更是由 Google 在 2013 年率先提出。如今这两项技术均已确立国际标准:获得 95% 浏览器的支持,**Cloudflare 处理的 HTTP 请求中已有 32% 采用该协议**,并且在 HTTP Archive 数据集中,有 35% 的网站 宣称支持HTTP/3 (通过 alt-svc 或 DNS)。 我们不仅成功开发出全新一代 HTTP 协议,更已将超三分之一的网络流量迁移至该协议——这堪称里程碑式的进展。 然而矛盾的是,包括 Node.js、Go、Rust、Python 和 Ruby

By huizhou92
Green Tea GC: Golang 的 ZGC?

tech

Green Tea GC: Golang 的 ZGC?

本文深入解析 Go 语言垃圾回收(GC)机制的设计与不足,从并发标记-清除、内存局部性问题到高 CPU 占用,透彻剖析了 Go GC 在高并发、大内存场景下的挑战。文章重点介绍了最新的 Green Tea GC 优化方案——通过 span 批量扫描提升内存访问效率和多核扩展性,实现部分场景下 GC 耗时降低 35%,为极限性能优化和未来硬件加速提供了新思路。关键词包括 Go 垃圾回收优化、Green Tea GC、并发GC、高负载场景等。

By huizhou92

tech

【译】grpc:好的部分

本文深入解析了gRPC在现代Web开发中的优势,从使用Protocol Buffers实现的数据传输优化(可减少高达50%流量)到严谨的API契约带来的代码自动生成、类型安全与文档同步,再到流式通信和跨语言支持的实际应用,详述了gRPC如何推动HTTP/2/HTTP/3革新。文章还探讨了gRPC与REST兼容的转码方案(如gRPC-Gateway、gRPC-Web、ConnectRPC、Twirp)及丰富的工具生态(如Buf CLI、第三方插件),为追求高性能、低延迟与微服务架构优化的开发者提供了实用参考和未来趋势预判。

By huizhou92