Daniel Lemire
Daniel Lemire,计算机科学教授,撰写关于高性能编程、数据结构与软件性能优化的技术博客。
Go 语言的配置文件优化(PGO)实测
Go 1.20 的 PGO 实测:解析三种 JSON 文件,速度提升仅 2%-5%。用 encoding/json 解析 twitter.json、canada.json、citm_catalog.json,分别训练后对比无 profile 基线。最佳提升 canada.json 的 +4.7%,多数在 2-3%。训练一个文档对其它文档有帮助但不稳定,训练 canada.json 对其它几乎无收益。PGO 收益有限但副作用也小,对未训练工作负载影响温和。 

C++26 的 std::hive 容器性能实测
C++26 新增 std::hive 容器,实测显示插入性能约为 vector 的两倍慢,迭代性能约为 vector 的八倍慢,但内存占用远低于 list,且保证元素插入后指针/迭代器永不过期。 在随机删除场景下,hive 比 vector 快约 40%,比 list 快约 37 倍。 结论:hive 不是更快的 vector,而是更好的 list——适合需要稳定引用和频繁删除的场景。 

AMD 在内存级并行度上遥遥领先
AMD Zen 5 单核内存级并行度达 58,是 Intel Granite Rapids 的两倍。作者用自研 benchmark 实测 AWS 实例,Turin 随机访问带宽 24.5 GiB/s,Graviton 5 延迟最低但并发仅 19。 Intel 十年间从 10 提升到 30,AMD 从 15 跳到 58,Graviton 长期停滞在 17-19。数据来自公开测试脚本与原始输出,可复现。 

从机构到个人:白宫 revitalizing 美国科学领导力的报告评析
Daniel Lemire 评析白宫最新报告《Science, A New Golden Age》,批判基础科研资助的“线性创新”模式失效。文章指出当前学术界存在严重的官僚主义、政治正确导向及可重复性危机,主张打破向大学机构拨款的传统,改为直接向个人提供资金(如奖金、短期资助),以恢复“无许可创新”和精英治学。作者认为创新依赖文化而非管理,并建议利用 AI 辅助实验设备,通过大规模实验突破技术停滞。 

与 AI 聊天成不了顶级程序员
作者认为,虽然 AI 能辅助编程,但顶尖工程师的核心价值在于对概念的深层理解,这需要通过大量阅读和编写代码获得。 Chat 无法替代这种心智劳动。未来工程师将更依赖能最大化代码理解的工具,而非仅仅生成代码。 

主权:从去工业化到重建实体技能的反思
作者以加拿大为例,批评过度金融化、学历通胀和管理层空转现象,指出全球化导致制造业空心化和技能缺失。文章认为,仅靠政策补贴和学历堆砌无法实现真正的科技主权,必须回归实体产业和实际动手能力,否则国家经济将陷入停滞。
实践中如何快速解析浮点数(2020)
simdjson 核心开发者 Daniel Lemire 分享浮点数解析性能优化的实战经验:标准库 strtod 太慢,自定义解析器又难以完全兼容 IEEE 754 的"偶进舍入"规范。在 Michael Eisel 持续推动下,团队采用"乐观快速路径 + 错误检测回退"策略——99% 的 JSON 数字可用简单算法快速处理,仅在边界情况回退标准库。实测结果:新解析器达 660 MB/s,约为 abseil from_chars 的 2 倍、strtod 的 9 倍。源码开源可复现。一个典型的"性能与正确性不必二选一"的真实工程故事,有第一手经验、有实测数据、有可复用的设计思路。
想更聪明,先试试更疯狂?
这篇文章探讨了原创性与聪明才智之间的张力关系。作者以个人亲身经历切入——包括主动放弃自动浇灌系统的园艺实验、观察大学教职群体千篇一律的着装与研究方式、评审基金申请时的真实体会——论证了敢于尝试"疯狂"原创想法虽然常常伴随失败和低社会认可,却能让人学到更多、看到别人看不到的东西。文章提到纳什、图灵等人物,指出很多杰出者都带有些许"异类"特质;但同时指出,学术圈和开源软件领域的大量实践都在求稳重复,因为顺应主流短期内总是更安全。作者坦言如果自己更保守可能会更富有,但强调失败是最重要的学习途径。
