spinlock的技术角
自旋,直到拿到锁。这里记录 C++ / 高并发 / 分布式系统 的踩坑实录, 以及在大内存怪兽上精算 LLM 推理部署的笔记。 偶尔写点 benchmark,偶尔翻车,但每次翻车都留档。
// 01 最新文章 ls -lt ~/posts
查看全部 42 篇 →从 1000ms 到 100ms:一次线上超时的完整排查与异步化改造
同步改异步看似简单,真正的难点在于"失败之后怎么办"。本文复盘一个核心接口的四步优化: 厘清调用链、拆掉不必要的阻塞、换掉误用的同步原语、把超时从 1000ms 压到 100ms—— 以及最核心的一条铁律:任何旁路失败都不能截断主流程,核心逻辑必须照常执行。
在 DGX Spark 128GB 上精算 Qwen3.6-35B-A3B-NVFP4 的内存预算
权重、KV cache、激活值逐项拆账:剩余约 40GB 的预算下,多模型并发到底可不可行?附量化方案对比表。
阅读全文 →SGLang vs vLLM:aarch64 + CUDA 13 上的实战取舍
同一块 DGX Spark,同一份 NVFP4 权重,两个推理框架的吞吐、延迟与折腾程度全面对比,投机解码是变数。
阅读全文 →NVFP4 权重加载 tensor shape mismatch 排查实录
17408 vs 8704——一次量化权重对齐引发的加载失败,从报错堆栈定位到权重分片差异的完整链路。
阅读全文 →手写 spinlock 的三个坑:CAS、memory_order 与 false sharing
从一行 compare_exchange_weak 开始,讲讲无锁编程里教科书不细说的三件事,附基准测试代码。
阅读全文 →用 perf 和火焰图揪出一段 C++ 代码的隐性开销
一个只在压测时才出现的性能悬崖:从采样火焰图到 cache line 伪共享的定位全过程。
阅读全文 →GLM-5.3 / Kimi K3 / Qwen3.8-27B 横评:谁是最佳代码搭子
代码生成、长上下文、Agent 场景三个维度跑分,多模型 benchmark 的方法论与踩过的坑一并奉上。
阅读全文 →// 02 系列专栏 ls -d ~/series/*/
// 03 关于 whoami
为什么叫 spinlock?
自旋锁是最诚实的并发原语:忙等,不睡眠,不放弃。 我相信排查问题也一样——反复核对现象、日志、代码,一轮不行再来一轮, 直到 compare_exchange_weak 返回 true。
平时写 C++ 后端,和高并发分布式系统打交道; 业余时间在 DGX Spark 的 128GB 统一内存上折腾大模型推理部署, 研究 vLLM、SGLang 和各种量化方案的可能性。
这个博客的原则只有一条:每篇文章必须来自真实踩坑,绝不写没验证过的东西。