跳到正文
原文
InfoQ 中文· 作者:Daniel Curtis·· 2 小时前AI 评分72

Zod 4.5 引入 Schema 编译后内存降低近 90% 且解析速度提升 9 倍

Zod 突然“会编译”了:速度快 9 倍、内存少近 90%,代价是 new Function?

AI 摘要

Zod 于 2026 年 8 月 28 日发布 4.5 版本,通过引入 z.compile() 功能实现了 Schema 的进程内预编译,使解析速度提升至原来的三至九倍,同时将空 Schema 的堆内存占用从 7.5KB 降至 784 字节,降幅接近一个数量级。该功能无需构建时插件或代码生成步骤,通过在入口文件添加 import "zod/compile" 即可对所有 Schema 进行延迟编译。

在 Moltar parseSafe 基准测试中,编译后的 Zod 达到每秒 4750 万次操作,略微领先每秒 4530 万次的 Typia,并将 Valibot(180 万次)和 ArkType(15.2 万次)远远甩在身后。不过,这一结果仅针对特定场景,在纯布尔断言测试中 Typia 和 ArkType 仍保持领先;此外,4.6 版本新增的 .validate() 方法在处理无效输入时性能最高可达 .safeParse().success 的 35 倍,但这并不等同于通用解析性能的全面提升。

事实层面,Zod 4.5 依赖 new Function 实现编译,若环境禁止使用则需配合 z.withParser() 安装外部解析器;4.6 版本修复了递归 Schema 持有已解析数据导致内存耗尽的回归问题。推断上,这一架构变更可能迫使长期宣传性能优于 Zod 的竞品重新评估其市场定位,但具体工作负载下的最优选择仍需根据实际业务需求决定。猜测成分在于未来其他验证库是否会跟进类似的编译策略以应对性能压力。

来源:InfoQ 中文 · infoq.cn