Doom 通过在 TypeScript 的类型系统中运行来挑战不可能

发布时间:2025年2月28日    来源:szf
Doom 通过在 TypeScript 的类型系统中运行来挑战不可能

快速阅读: 《技术点》消息,软件工程师德米特里·米特罗波洛斯将《毁灭战士》游戏成功移植到了TypeScript类型系统中,耗时一年,运行该游戏需3.5万亿行类型和177太字节,单帧编译需12天,速度极其缓慢。尽管面临巨大挑战,他认为未来可通过优化提升性能。此成就展示了《毁灭战士》可在几乎任何平台上运行。

人们已经将《毁灭战士》移植到了各种设备上,从计算器到麦当劳收银机无所不包。PDF和Word文档文件成为了最新的例子。当然,这些方法极其缓慢,但令人难以置信的是,这款游戏竟然能在非计算机平台上运行。软件工程师德米特里·米特罗波洛斯将《毁灭战士》移植到非计算机平台的工作提升到了一个全新的水平。这位程序员成功地让《毁灭战士》在TypeScript类型系统中运行——这一壮举极其复杂,他花费了一整年的时间才完成。TypeScript是由微软开发的一种语言,它通过添加静态类型检查来改进JavaScript,从而在执行前捕捉编码错误。它可以被视为代码中的拼写或语法检查器,确保函数和变量被正确输入。开发者常用它来构建大型JavaScript应用程序。在TypeScript类型系统中运行游戏被认为是不可能的。即便米特罗波洛斯也承认他开始这个项目是为了“快速”证明这是不可能的。然而,当他深入研究时,他变得痴迷于让它工作。最终,即使是经验丰富的TS开发者也被震惊得无言以对。米特罗波洛斯版本的《毁灭战士》运行在3.5万亿行类型中,消耗了惊人的177太字节。编译单帧需要12天,导致每秒仅0.0000009645帧的极其缓慢速度。TypeScript类型追踪器必须每秒处理2000万个类型实例化才能生成输出,从而导致极慢的帧率。尽管存在巨大的开销,米特罗波洛斯认为性能改进是可能的。在他所在的密歇根州TypeScript Discord服务器中,他建议通过进一步优化,编译时间可以减少到“1到12小时”。他已经确定了一些可以提高速度的领域。为了使这一切正常工作,他完全用TypeScript类型构建了一个虚拟机,包括所有116个WebAssembly指令的逻辑实现,这些指令用于运行《毁灭战士》。功能计算机的每一个元素——RAM、磁盘空间,甚至L1 CPU缓存——都必须在类型系统中精心重建。由于TypeScript只允许从左向右迭代字符串,他不得不反向输入二进制算法。运行程序需要一个自定义的WebAssembly运行时,在TypeScript编辑器中处理所有内容。TypeScript编译器也需要修改以处理项目的极端规模,因为其类型追踪器在执行过程中就消耗了超过90GB的RAM。米特罗波洛斯描述这项工作是一个艰苦的挑战。他编写了12,364个手写的测试,学习了多种编程语言,并且最初估计该项目在优化前需要高达1.25拍字节。有一次,编译单帧需要连续三个月的类型实例化。他表示AI对此毫无用处。“哦,AI在这类事情上帮不上忙。”米特罗波洛斯在他的简短七分钟视频解释(标题)中说。“它是如此底层,引擎内部没有数组、对象、字符串或布尔值——只有二进制数字。《毁灭战士》只使用64位和32位整数,没有更多了。哦,那些整数既不是有符号也不是无符号。我花了一整天时间才弄明白这一点。”他用整整一年每天18小时的时间才完成。其他TS开发者对这个项目有很多疑问,米特罗波洛斯计划再发布两个视频来解释技术细节和他背后的动机。目前,我们又多了一个证据,证明《毁灭战士》可以在任何东西上运行——包括那些从未打算用来运行游戏的东西。

(以上内容均由Ai生成)

你可能还想读

本周科技大事件:谷歌发布Pixel 10,Gamescom揭晓重磅游戏

本周科技大事件:谷歌发布Pixel 10,Gamescom揭晓重磅游戏

快速阅读: 谷歌推出Pixel 10手机及Pixel Watch 4,新增卫星紧急通讯、可更换电池和屏幕、抬手通话等功能,屏幕亮度达3000尼特,还将与斯蒂芬·库里合作推出AI健康和健身教练服务。 谷歌本周在“由谷歌制造”活动中推出了Pix […]

发布时间:2025年8月23日
SK海力士凭借HBM激增首次超越三星,领跑全球内存市场

SK海力士凭借HBM激增首次超越三星,领跑全球内存市场

快速阅读: 据《《韩国先驱报》》称,7月20日,SK海力士首登全球内存芯片市场榜首,受益于AI产品和HBM芯片领先地位。其季度利润达9.2万亿韩元,远超三星。 据韩联社报道,7月20日,韩国京畿道伊川,SK海力士首次登上全球内存芯片市场榜首 […]

发布时间:2025年8月1日
STAN 从谷歌、万代南梦宫和其他公司筹集了 850 万美元

STAN 从谷歌、万代南梦宫和其他公司筹集了 850 万美元

快速阅读: 据《印度教业务线》称,STAN获850万美元融资,由万代南梦宫等机构投资。计划拓展印度市场,加强AI功能与创作者工具。平台用户超2500万,专注移动端社交游戏。 记者获悉,8月1日,社交游戏平台STAN宣布完成850万美元的新一 […]

发布时间:2025年8月1日
“这改变了一切”:谷歌的人工智能模式迫使品牌重新考虑搜索策略

“这改变了一切”:谷歌的人工智能模式迫使品牌重新考虑搜索策略

快速阅读: 据《营销周》称,谷歌推出AI搜索模式,减少外部链接,提升对话式回答。品牌需调整策略,重视内容质量与品牌权威。此变化影响营销方式,竞争加剧。 据谷歌官方消息,7月29日,谷歌在英国推出了基于人工智能的搜索功能AI模式,此前该功能已 […]

发布时间:2025年8月1日
在 Android 上用更智能的应用程序替换 Google Assistant

在 Android 上用更智能的应用程序替换 Google Assistant

快速阅读: 据《电话竞技场》称,据报道,用户可从Google Play下载Meta AI应用,安装后需检查版本是否为230.0.0.36.164或更高。操作方法:进入设置,选择应用,查看Meta AI信息页底部的版本号。 据媒体报道,用户现 […]

发布时间:2025年8月1日
Xero 的英国董事总经理回击人工智能正在抢走会计工作的说法

Xero 的英国董事总经理回击人工智能正在抢走会计工作的说法

快速阅读: 据《UKTN(英国科技新闻)》称,英国科技媒体UKTN报道,Xero英国总经理凯特·海沃德表示,会计行业无需过度担忧AI自动化。尽管四大事务所裁员,但Xero仍持续投资AI技术,提升效率与服务质量。 据英国科技新闻网站UKTN报 […]

发布时间:2025年8月1日
Reddit 计划在搜索引擎市场大力推动人工智能与谷歌竞争:报告

Reddit 计划在搜索引擎市场大力推动人工智能与谷歌竞争:报告

快速阅读: 据《商业标准》称,Reddit CEO表示,公司正将平台转型为搜索引擎,整合AI功能,提升用户体验。Reddit Answers用户已超600万,计划全球推广。 据《The Verge》报道,7月11日,Reddit首席执行官史 […]

发布时间:2025年8月1日
Meta 超出预期,为“个人超级智能”做准备

Meta 超出预期,为“个人超级智能”做准备

快速阅读: 据《RCR无线》称,Meta二季度营收475.2亿美元,净利润183亿美元。CEO扎克伯格称将打造个人超级智能,但数据中心扩容遇挑战。公司计划2025年支出达1140-1180亿美元。 据媒体报道,7月25日,美国加州,社交媒体 […]

发布时间:2025年8月1日