Golang sync pool 调研
Go 语言的 sync.Pool 经常被调用,理解它的使用对理解GC有帮助,对提高程序性能、减少gc有帮助。本文借助了gemini flash3 模型收集数据提供思路。
Go 语言的 sync.Pool 经常被调用,理解它的使用对理解GC有帮助,对提高程序性能、减少gc有帮助。本文借助了gemini flash3 模型收集数据提供思路。
Go 语言的 sync package 是并发编程的核心。面试和实际开发中的考点通常集中在底层原理、正常/饥饿模式切换、CAS 原子操作以及内存屏障。
以下是 sync 包中 5 个最核心的考点及其 Mermaid 原理图
在我的向量数据库项目 vex 中实现 HNSW 算法(AI 辅助生成初版代码,后续自己做 debug 和优化),第一次跑 Recall 测试——全部 0%。不是 50%、不是 30%,是 0。HNSW 返回的结果和 BruteForce 完全不重叠。本文记录了从 0% recall 一路 debug 到 98%+ 的完整过程,以及对照 HNSW 论文逐一修复六个关键 Bug 的技术细节。
用 Temporal 写业务代码确实爽——“像写单机程序一样处理分布式事务”。但爽完之后,总有一个声音在脑后响起:它真的可靠吗? Server 挂了怎么办?网络断了呢?回滚本身失败了呢?这篇文章从底层机制入手,把这些问题一个个拆碎。
上一篇我们在 Kind 集群中手撸 Flannel,用 tcpdump 亲眼见证了 VXLAN 每个数据包 50 字节的封装开销。这一篇,我们把 Flannel 替换为 Cilium,利用 eBPF 技术彻底干掉这笔"网络税",并用 Hubble 实现网络流量的可视化观测。
周末,我在 Manjaro 上利用 kind 从零构建了一个“无网络”集群,手动排查了内核模块缺失、CNI 插件丢失等硬核故障,并最终通过 tcpdump 亲眼见证了 VXLAN 的封包过程。这篇文章记录了全过程。