改造 Go 编译器以高效地将 IPv4 映射为 IPv6
作者 Vincent Bernat 深入探讨 Go 标准库 netip.Addr 缺少 Map/To6 方法的问题:维护者建议用 netip.AddrFrom16(ip.As16) 并依赖编译器优化,但实测该模式比原生方法慢 8 倍。 文章对比三种实现路径:修改标准库、写外部 helper、走 unsafe;重点展示如何“hack”Go 编译器(用汇编级 pattern matching 插入内联)使该序列达到最优性能,并给出基准测试与汇编证据。 对关心 Go 底层性能、编译器 IR 与 netip 设计的读者信息密度高,易引发 HN 式讨论。
