网易首页 > 网易号 > 正文 申请入驻

TypeScript 终于能编译成原生程序了?启动快 12 倍,运行却慢 7.5 倍

0
分享至


作者 | Daniel Curtis

译者 | 田橙

Vercel Labs 发布了 scriptc。这是一款采用 Apache 2.0 许可证的实验性编译器,可以将普通 TypeScript 转换为小型原生可执行文件,生成的二进制文件中不包含 Node、V8 或任何 JavaScript 引擎。

该代码仓库创建于 2026 年 7 月 22 日,目前已获得约 4900 个 Star。scriptc 使用真正的 TypeScript 编译器进行解析和类型检查,将程序转换为类型化中间表示,随后可以生成可读的 C 代码、LLVM IR、汇编代码、目标文件、原生可执行文件,或者通过 WASI Preview 1 生成 WebAssembly。

每一种语法结构 都会被划入三个层级之一:默认进行静态编译;对于 npm 软件包和any类型代码,在传入--dynamic参数时,由一个约 620KB 的内嵌 quickjs-ng 引擎动态执行;或者在编译时被拒绝,同时返回一个 SC 错误码和改写建议。

一项将 scriptc 0.0.16 与 Bun 1.3.12、Node 24.18.0 进行对比的基准测试 显示,scriptc 命令行工具的启动时间中位数为 1.78 毫秒,而 Bun 和 Node 分别为 21.29 毫秒和 61.78 毫秒。一个不使用任何框架的node:http服务器在空闲时仅占用 1.9MiB 内存。同一组测试发现,Hono 必须启用--dynamic,导致服务器中 62% 的代码进入 QuickJS,吞吐量也降至每秒 1.84 万个请求,而 Bun 可以达到每秒 7.05 万个请求。

在 Hacker News 上,一名开发者 报告 称,其测试结果显示 scriptc 的运行速度约比 Node 24 慢 7.5 倍:

从字节数组的结果来看,也就是最理想的情况,scriptc 仍然比 Node 24 慢约 7.5 倍,即使 Claude 已经尝试进行一些针对 scriptc 的优化。不过,它的可执行文件启动速度快了 12 倍(1.5 毫秒对 18.6 毫秒),内存占用低了 72 倍(2.5MiB 对 181MiB),而且最终得到的是一个没有任何运行时依赖、大小仅为 370KB 的单一可执行文件。

Filip Pizlo 认为,将所有数字都表示为浮点数,并暂缓实现整数类型推断,相当于跳过了“让 JavaScript 跑得快这一问题的一半”。他还指出,对于一个以性能为目标的项目来说,依赖 QuickJS 并不合适,因为any足够常见,实际程序中的代码会不断落入这个动态执行孤岛。

Simon Willison 指出,编码智能体在短短一周内就提交了 91.8 万行代码。他还 补充道,无需编写 C 或 Rust 就能构建小巧、快速的二进制文件,“似乎是一项很有价值的能力”。

一名开发者 发现,在其本地的每个项目上进行兼容性覆盖检查时,都会产生数百个错误:

尽管它受到了很多批评,我还是觉得至少应该测试一下,于是用本地所有项目都试了一遍。每一个项目的覆盖检查都会产生数百个错误,所以它基本毫无用处。我明白,我可以从头编写一个项目,不使用任何第三方库,然后把它编译成二进制文件;但既然如此,我为什么不用 Rust、Go、Zig、D、C、V、Ada、C++、Nim、Swift、Kotlin Native、Haskell……或者任何一种本来就是为编译而设计,并且能很好完成编译的语言?

另一个反复出现的担忧是项目能否长期维护。评论者 提到 了 Vercel 的 zerolang,该项目发布数周后便不再有新的代码提交。Remo Jansen 曾尝试 编译 TypeScript 6 编译器本身,但最终因编译器内部错误而失败。不过,他测得 scriptc 的冷启动时间为 3.6 毫秒,而 Node 为 48.9 毫秒;但在计算任务中,scriptc 的耗时则慢得多,达到 2.33 秒。

该编译器需要 Node.js 24 或更高版本,可以通过npm install -g scriptc安装。限制说明页面 记录了一些有意为之的行为差异,使用前值得仔细阅读:字符串以 UTF-8 格式存储;内存使用引用计数而非垃圾回收;Object.keys按声明顺序返回键;process.argv[0]的值为"scriptc"。npm 依赖指南 介绍了依赖项的处理方式,其中包括实验性的--npm-static参数,可以将指定软件包从动态执行孤岛中移出并进行静态编译。

scriptc 支持 macOS、Linux、Windows 和 WASI Preview 1,并通过差分测试保证行为一致:测试会逐字节比较其与 Node 的标准输出、标准错误和退出码。该项目目前仍被明确标记为实验性项目,相关文档可在 scriptc.dev 查看。

https://www.infoq.com/news/2026/09/vercel-scriptc-node/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
百万博主曝女友出轨!同时交往多名男性,曝炸裂聊天记录,已跑路

百万博主曝女友出轨!同时交往多名男性,曝炸裂聊天记录,已跑路

青梅侃史啊
2026-10-10 07:13:50
29岁手握6座电诈园区!被判死刑的明珍珍,私下生活到底有多壕?

29岁手握6座电诈园区!被判死刑的明珍珍,私下生活到底有多壕?

日不西沉
2026-10-11 04:23:33
最近裁员的太多了。

最近裁员的太多了。

老陆不老
2026-10-11 21:48:24
深圳夫妻9月入账3.67万+公积金8.4k,晒工资引热议!有人说尚可,有人直言收入一般偏下

深圳夫妻9月入账3.67万+公积金8.4k,晒工资引热议!有人说尚可,有人直言收入一般偏下

火山詩话
2026-10-11 17:11:12
这身材绝了,她是怎么做到又瘦又有肉的?

这身材绝了,她是怎么做到又瘦又有肉的?

草莓解说体育
2026-09-19 09:15:11
蓉城冠军要丢!京媒:大连英博有望夺冠,还拥有主动权

蓉城冠军要丢!京媒:大连英博有望夺冠,还拥有主动权

建哥说体育
2026-10-11 08:55:10
乌军再次攻入俄本土 泽连斯基怒怼卢比奥

乌军再次攻入俄本土 泽连斯基怒怼卢比奥

西楼饮月
2026-10-09 21:47:49
当初觉得很贵,拥有之后才觉得后悔没早买 网友:这我太有发言权了

当初觉得很贵,拥有之后才觉得后悔没早买 网友:这我太有发言权了

另子维爱读史
2026-10-11 20:54:28
战争就快五年了,双方兵源和动员都很困难:莫斯科30万只电子眼,盯上了自家的逃兵

战争就快五年了,双方兵源和动员都很困难:莫斯科30万只电子眼,盯上了自家的逃兵

寰球经纬所
2026-10-07 21:04:49
这样打扮的成熟女人,还挺有魅力的

这样打扮的成熟女人,还挺有魅力的

美女穿搭分享
2026-09-13 10:22:54
尊界汽车,让门外汉的领导给坑了?

尊界汽车,让门外汉的领导给坑了?

言叔财经视角
2026-10-09 17:11:01
日月谭天丨为何说在当前国际局势下 赖清德的“台独”呓语更显可笑?

日月谭天丨为何说在当前国际局势下 赖清德的“台独”呓语更显可笑?

国际在线
2026-10-11 20:14:30
6轮独造6球!曼城新核强势爆发 他让红军水货无地自容

6轮独造6球!曼城新核强势爆发 他让红军水货无地自容

球事百科吖
2026-10-12 04:17:46
公路车骑行服,熟女骑行穿搭,利落面料勾勒饱满曲线

公路车骑行服,熟女骑行穿搭,利落面料勾勒饱满曲线

只要高兴就好
2026-09-24 11:58:50
72岁上海老头坦言:每月退休金一到账就发愁,钱多还成了烦恼

72岁上海老头坦言:每月退休金一到账就发愁,钱多还成了烦恼

天气观察站
2026-10-12 00:52:58
泰国失联的摄影师回国!家属掩盖获救细节,网友曝原因,细思极恐

泰国失联的摄影师回国!家属掩盖获救细节,网友曝原因,细思极恐

阿晭评论哥
2026-10-11 17:30:19
多库神奇一战!替补独造3球,轰无解世界波,突破造对手红牌

多库神奇一战!替补独造3球,轰无解世界波,突破造对手红牌

奥拜尔
2026-10-12 01:21:45
彻底凉凉?莫氏鸡煲闭店了!

彻底凉凉?莫氏鸡煲闭店了!

东莞好生活
2026-10-11 20:42:40
王曼昱斩获双冠后,点名感谢3人!邓亚萍用一个字,盛赞其统治力

王曼昱斩获双冠后,点名感谢3人!邓亚萍用一个字,盛赞其统治力

十点街球体育
2026-10-11 21:36:41
徐正源:跟球迷们说一声对不起,后面比赛每一场都要争胜

徐正源:跟球迷们说一声对不起,后面比赛每一场都要争胜

懂球帝
2026-10-11 23:49:24
2026-10-12 06:47:00
InfoQ incentive-icons
InfoQ
有内容的技术社区媒体
13041文章数 52102关注度
往期回顾 全部

科技要闻

卸任CEO后,苹果董事长库克再度到访中国

头条要闻

24岁男子云南散心后失联月余 最后轨迹疑出现在缅甸

头条要闻

24岁男子云南散心后失联月余 最后轨迹疑出现在缅甸

体育要闻

30天30队·魔术:班凯罗最后的试炼?

娱乐要闻

没夫妻生活咋办?冉莹颖绝不求邹市明

财经要闻

黄仁勋长女完婚,万亿帝国如何传承?

汽车要闻

大6座插混SUV新选择 阿维塔T09概念版亮相巴黎车展

态度原创

教育
房产
数码
家居
军事航空

教育要闻

今天,南京这所名校干了一件大事!

房产要闻

三亚市区,200万级六层真洋房 真香!

数码要闻

苹果库克到访广州:探班iPhone 18 Pro咏春短片拍摄现场

家居要闻

2026建博会(广州) 公装联探展交流活动

军事要闻

沙特利雅得机场遭袭致12死309伤 中国大使馆紧急提醒

无障碍浏览 进入关怀版