MB文本模拟CPU,正则表达式跑通Doom一帧180秒
开发者用正则表达式创建96MB文本模拟CPU,成功运行1992年《Doom》。每帧画面约需180秒,执行近1400万次文本替换,可用键盘控制但延迟极大。
最近,开发者 Artem Lytkin 带来了一项令人瞩目的技术创举——他借助正则表达式成功运行了 1992 年经典游戏《Doom》。不过,运行速度极其缓慢:每帧画面大约需要 180 秒,每秒执行约 8 万次文本替换,生成一帧就要完成近 1400 万次替换。即便如此,这种实现方式本身就足以让人惊叹不已。
将《Doom》移植到各种稀奇古怪的硬件上,早已成为编程圈的经典挑战。从烤面包机到充电器,甚至验孕棒都有人尝试过,但用正则表达式来运行,纯粹属于软件层面的极限操作。正则表达式本身是程序里用于查找和替换文本的工具语言,但它集成了条件判断、字符跳转和替换规则,从技术角度看,已经满足了编程语言的所有基本要求。
Lytkin 正是利用这些能力,创建了一个体积达 96MB 的纯文本字符串。这个字符串中包含了虚拟 CPU 的寄存器、内存、视频输出帧缓冲、游戏 WAD 数据以及 I/O 等全部组件,相当于一个完整的模拟器实体。

启动之后,正则表达式不断对这个字符串进行文本匹配和字符替换,模拟处理器寄存器中的数值变化,再访问和写入“内存”,如此循环往复。运行速度可想而知——生成一帧画面大约需要 180 秒,每帧近 1400 万次替换。但关键在于,它确实能够运行,而且 Lytkin 声称输出结果与真正的《Doom》完全一致。

更令人惊讶的是,玩家甚至可以用键盘控制游戏——只不过每按一次键,需要等待三分钟才能看到画面变化。Lytkin 自己都调侃说,这与射击游戏已经完全不沾边了。
内存访问的实现方式也值得一提。Lytkin 利用正则表达式的字符跳转指令构建了一棵二叉树,从分支跳到分支,从而避免了每次都从头扫描 96MB 文本去查找标记,算是一种相当巧妙的优化策略。
目前,doom-regex 项目已经开源,并提供了可视化演示。可以看到这个“正则机器”以文本和图形两种方式运行,画面相当催眠——如果把屏幕调暗,恐怕能当助眠工具使用。

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
小米AI Cube工程版详解:三芯协同架构与150W本地大模型部署
小米发布AI Cube工程版迷你主机,采用玄戒O3、O100及D100三颗自研芯片协同架构。该设备持续性能释放达150W,支持120B参数大模型本地部署。文章解析其异构计算原理、散热设计及技术验证现状。
致态Ti600s 2TB SSD评测:Xtacking 4.0架构下的性能与寿命突破
本文深入评测致态Ti600s 2TB SSD,基于长江存储Xtacking 4 0架构,顺序读取达7400MB s,4K随机读写性能媲美带缓存TLC。其最大亮点在于写入寿命较上代提升50%,2TB型号高达900TBW,远超普通QLC竞品。
鲁大师怎么看轻薄本是否过热:三步判断法
轻薄本接电发热、掌托发烫时,如何判断是否真的过热?本文教你利用鲁大师进行三步排查:首先确认系统高温提示,其次对比温度与风扇转速,最后通过短压测试观察温度曲线。通过这三步,快速识别瞬时高温还是持续过热,并提供相应的解决建议。
WPS PDF查看缩略图:3步调出页面预览快速定位
在WPS Office中查看PDF文档缩略图非常简单。只需点击顶部菜单栏的“视图”,打开“导航窗格”,并在左侧边栏切换到“页面”视图即可。此方法可快速预览所有页面,并通过点击缩略图实现精准跳转,大幅提升长文档的阅读与查找效率。
Excel数据透视表选项卡不显示?3步找回分析与设计功能
在Excel中操作数据透视表时,若顶部未显示“数据透视表分析”和“设计”选项卡,通常是因为未正确选中透视表区域。只需点击透视表内的任意单元格,这两个专属选项卡便会自动出现在功能区。本文详细讲解如何快速找回并正确使用这两个核心功能入口。
- 热门数据榜
相关攻略
2026-08-28 14:39
2026-08-28 14:38
2026-08-27 18:47
2026-08-27 18:46
2026-08-27 18:46
2026-08-27 18:46
2026-08-27 18:46
2026-08-27 18:45
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

