败犬日报 2026-01-17
败犬日报 2026-01-17
1. 超越 lock-free 的是 wait-free(文章)
https://mp.weixin.qq.com/s/kDKkNVWqjPaSzmvOc4U-7Q
2. libstdc++ 10 年前的问题:unordered_map.clear() 复杂度是错的
是关于桶数线性复杂度,而不是关于元素个数。
因为 unordered_map 的桶是惰性释放的(类似 vector.clear() 不释放内存),如果有很多桶再多次 clear() 会有明显性能问题。
这是 10 年前的问题 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67922。人手不足的情况下,不重要的 bug 就是没时间处理的。别说 10 年,Clang 还有 15+ 年前提的 bug 没修。
没人手处理这些东西确实是个问题,刚刚有编译器小团体建议放慢标准吸纳新特性的速度 https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3962r0.pdf