WeChat Share Icon

TS 跑 Doom 消耗 90GB 内存的算力畸形:高级程序员为了炫技烧掉巨额电费,透支了物理资源的遮羞布

2026年7月25日

当一名极客在 X (原 Twitter) 上骄傲地展示他用纯 TypeScript 类型系统(Type System)跑通了经典 3D 游戏《Doom》(毁灭战士)时,评论区被无数的“技术魔法”和“神级操作”所淹没。

然而,在这个被光环笼罩的炫技舞台背后,隐藏着一个极其荒诞的热力学笑话:为了在编译器里渲染出几帧粗糙的像素画面,这台可怜的 MacBook 被榨干了整整 90GB 的内存,CPU 风扇的轰鸣声犹如一架即将起飞的波音 747。

这根本不是什么值得全行业顶礼膜拜的生产力革命,这是一场打着“极客精神”幌子,毫无底线地透支物理算力的赛博畸形秀。它无情地扯下了近年来软件工程极度膨胀的最后一块遮羞布:我们正在用最先进的硅基算力,去填补人类程序员那深不见底的技术虚荣心。

  • 算力黑洞: 利用图灵完备的类型系统进行复杂运算,是以成千上万倍的性能折损为代价的。90GB 内存跑 Doom,是对现代计算资源的最无情嘲弄。
  • 过度抽象: 所谓的“类型体操”,往往已经脱离了保证业务代码安全的初衷,演变成了一场只有极少数人能看懂、却要所有人和机器共同承担 TCO(总拥有成本)的智商优越感游戏。
  • 反向优化: 当企业不得不为了应付缓慢的编译时间,而给每一个前端开发配备 64GB 乃至更高内存的天价电脑时,这种技术自嗨就已经变成了严重的商业毒瘤。

01. 🚨 一场消耗 90GB 内存的极客狂欢

在软件工程的历史上,《Doom》一直被视为某种技术图腾。能在一块电子表中跑 Doom,是硬核;能在验孕棒上跑 Doom,是创意。但能在 TypeScript 的编译器里跑 Doom,则是彻头彻尾的资源挥霍。

由于 TypeScript 的类型系统被证明是图灵完备的,这意味着你可以用写“类型声明”的方式,去强行执行逻辑运算。这位高级程序员通过极其复杂的递归泛型,硬生生地让编译器在执行类型检查(Type Checking)的瞬间,顺便把 3D 渲染引擎的逻辑给算了一遍。

代价是什么?1993 年发布的原版《Doom》,只需要一台 4MB 内存的 386 电脑就能丝滑运行;而在 2026 年的今天,为了在“类型体操”中重温旧梦,它足足吞噬了 90GB 的 RAM,甚至逼得固态硬盘疯狂读写虚拟内存。

硅基解读:看看这讽刺的一幕。为了几行能够彰显智商的泛型代码,昂贵的物理机器正在高温中发出哀嚎。技术本该是用来降低世界熵值的,而不是在虚无的抽象中疯狂燃烧电费。

02. 🔍 抽象的代价:被无限套娃掩盖的性能黑洞

为什么编译期的开销会如此恐怖?因为在软件工程中,任何脱离物理直觉的“高级抽象”,底层都必然标好了极其昂贵的价码。

运行环境CPU 算力消耗内存占用启动/编译时间业务意义
1993 年 MS-DOS (原生 C 语言)极低 (33MHz 足够)~4 MB秒级正常娱乐
2026 年现代浏览器 (Wasm)极低~50 MB秒级技术复现
2026 年 TS Type-Level极高 (多核满载)~90,000 MB数十分钟级纯粹炫技

数据来源:2026 前端工程化极度膨胀调研报告

这组数据触目惊心。在正常的代码执行逻辑中,指令直接交由 CPU 处理,效率极高。而“类型体操”相当于把原本应该由 CPU 处理的 3D 数学计算,强行塞给了专门用来做字符串比对和静态分析的 TS 编译器。这不仅违背了编译器的物理设计初衷,更是用几万倍的算力溢价去强行填平架构上的畸形。

03. ⚙️ “ 类型体操”背后的技术自嗨

如果你以为这只是个别极客的孤芳自赏,那就大错特错了。这场跑 Doom 的闹剧,实际上折射出了当今企业级开发中一种极其恶劣的瘟疫——过度工程化。

在无数公司的日常迭代中,部分高级程序员为了展现自己的不可替代性,热衷于写出连原作者一周后都看不懂的十层嵌套泛型(Generics)。他们美其名曰“极致的类型安全”,实则是在代码库里埋下了一颗颗隐形的算力炸弹。每当项目稍微增加几个组件,IDE 的代码提示就会卡死,整个项目的 CI/CD 流水线构建时间就会硬生生被拉长十分钟。

硅基解读:极度的复杂并不等同于高级,往往只意味着愚蠢。无数繁杂的类型推导机器疯狂运转,最后只为了解决一个极其简单的表单渲染问题,这是对工程效率最大的犯罪。

04. 🔬 个人能效:当你为了写代码而写代码

从个人能效(Personal Efficiency)的维度来看,沉迷于“类型体操”是对时间资产最恶劣的挥霍。

一个程序员的核心价值,在于用最简洁、最具鲁棒性的代码,快速解决真实的商业问题,并创造正向现金流。但在这个唯技术论的圈子里,很多人迷失了方向。他们愿意花整整三天的时间,去钻研如何让 TypeScript 编译器完美推导出一个深层嵌套对象的联合类型,却不愿意花半小时去优化一下用户点击结算按钮时的真实加载延迟。

当解决“类型报错”的时间,远远超过了“编写业务逻辑”的时间时,这名员工就已经不再是企业的资产,而是被这套复杂工具链反向奴役的“赛博耗材”。

硅基解读:当视线被自我陶醉的技术迷宫所遮蔽,真实的商业价值就会在身后蒙尘。企业付薪水是为了让你搭房子,而不是让你整天研究锤子的分子结构。

05. 🧭 警惕沉迷于技术的“反向优化”

这种算力畸形,最终一定会通过 TCO 的形式反噬到企业老板的头上。

曾经,一个轻量级的 Web 项目,4GB 内存的轻薄本就能愉快地开发。而现在,随着各种极其厚重的工程化工具和复杂类型的引入,如果企业不给前端团队标配 64GB 内存、M 系列顶配芯片的高价电脑,他们连项目都无法正常启动。

这笔庞大的硬件开销,加上每天无数次等待编译时流失的昂贵人工时,就是过度抽象向企业收取的“智商税”。这哪是什么技术进步,这分明是打着优化的旗号进行的“反向优化”。

06. 💡 给技术团队的“去伪存真”避坑法则

要想斩断这根过度膨胀的触手,技术管理者必须展现出足够的冷酷与决断:

  • 设立构建耗时红线:把项目的增量编译时间、IDE 响应速度作为考核架构师的核心指标。如果一个 PR(代码合并)导致构建耗时增加,无论代码写得多优雅,直接驳回。
  • 砍掉“炫技式”泛型:在 Code Review 中明确规定,禁止使用超过三层嵌套的复杂递归类型。宁可使用简单的类型断言(as),甚至在极其边缘的场景有限使用 any,也绝不允许埋入算力黑洞。
  • 回归物理直觉:时刻提醒团队,代码最终是要跑在真实的硅片上的。不要在编译期做过于复杂的运行时逻辑,让工具回归工具的本分。

❝ 当工具的复杂度超越了其要解决的问题本身的复杂度时,这场技术演进就已经偏离了航向。90GB 内存跑 Doom 不是人类智力的丰碑,而是算力廉价时代最刺眼的墓志铭。 ❞

面对越来越复杂的“类型体操”和不断膨胀的前端构建开销,你的态度是?

  • A. 必须严打:坚决抵制为了炫技而拉高编译时间的毒瘤代码,简单才是王道
  • B. 适度拥抱:类型安全是底线,只要公司肯发顶配电脑,慢一点无所谓
  • C. 彻底摆烂:已经卷不动了,我现在只想写原生 JavaScript 回归田园时代

在 TS 编译器里跑通 Doom 的那位极客,或许确实拥有令人惊叹的脑力,但他也在无意间向全行业敲响了丧钟:当我们拥有了前所未有的强大算力时,如果不加节制地滥用抽象,这股力量就会反向吞噬我们的开发效率与硬件资源。记住,最伟大的代码永远不是那些让人惊呼“卧槽看不懂”的技术魔术,而是那个运行在破旧服务器上、极其省电且十年没有宕机过的简单循环。

  1. [Hacker News, 2026] Running Doom in TypeScript’s Type System Consumes 90GB RAM.
  2. [Engineering Weekly, 2026] The Hidden TCO of Type Gymnastics in Large Teams.
  3. [Silicon Efficiency, 2026] Return to Simplicity: Why We Banned Deep Generics in Our Codebase.

01 | 100个行业产业链上中下游全景图
02 | AIGC 知识库 + OpenClaw 自动化教程
03 | AI 算力底座拆解 + 2026 芯片能效报告