卡马克:64 位系统应给每个栈分配等量虚拟地址空间

ID_AA_Carmack · x · 2026-10-24

John Carmack 撰文认为 alloca() 被低估,主张 64 位架构下默认给每个栈分配与物理内存等大的虚拟地址空间,让栈成为主要的内存管理手段。他的论据:分配只是指针调整、释放几乎零成本;线性连续布局对各级缓存友好,且便于使用 huge/gigantic pages;配合静态分析检查“栈指针存入更深栈结构”这类 use-after-free,可保证内存管理正确性。他承认 caller-allocates-return 纪律在动态场景不便,若底层调用约定支持“返回时栈保持扩展”会更理想,但短期内不指望。文末还提了一句:AI 编程 agent 的普及究竟让软件架构讨论更重要还是更不重要,尚不明朗。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →