HNSW 算法学习与项目实践:从近似最近邻到向量检索工程 本文旨在理解为什么需要 HNSW、它如何用多层图做近似最近邻搜索、M / ef_construction / ef_search 等参数到底控制什么,以及它和 IVF、PQ、LSH、Annoy、DiskANN、BM25 等相关算法分别适合什么场景。 HNSW 是一种基于分层小世界图的近似最近邻索引。第 0 层包含所有向量,负责最终精细搜索;高层只包含部分节点,负责长距离导 2026-05-17
c++内存模型与原子操作 C++ 内存模型与原子操作详解一、为什么需要内存模型?现代硬件和编译器为了性能会对指令进行重排序(Reordering): 编译器重排:编译器在不改变单线程语义的前提下,可以任意重排指令顺序。 CPU 乱序执行:CPU 可能以不同于程序顺序的方式执行指令(Out-of-Order Execution)。 Store Buffer / 写缓冲区:CPU 的写操作不一定立即对其他核可见。 2026-03-18
现代处理器与内存一致性 现代处理器与内存一致性:从 μops 到多核并发 目录 现代处理器:动态编译器 μops 微操作详解 乱序执行与按序提交 木桶效应与性能瓶颈 多核内存一致性问题 编译器屏障 vs 硬件屏障 经典并发问题:Store-Load 重排 修复方案与最佳实践 总结:层次化的顺序保证 一、现代处理器:动态编译器核心观点现代处理器不仅仅是”执行指令的机器”,它本身就是一个运行时动态优化系统: 接收标准 2026-03-13