Zod 4.5 发布:内存占用减少一个数量级
DanielLockyer · x · 2026-08-29
Zod 4.5 已发布,通过实现“方法记忆化”模式,将内存占用降低了一个数量级。
改进背景
- 在 Zod 4.4 中,一个裸露的 z.string() 会占用 7.5kb 堆内存。
- 为了支持解构模式(如 const { parse } = z.string()),所有 schema 方法默认是自动绑定的 bound closure,这导致无法通过原型链共享方法,增加了内存开销。
解决方案
- 新版通过在类原型上定义方法作为 getters,利用“方法记忆化”延迟绑定:
- 首次访问方法时,通过 getter 返回绑定到实例的实现,并将其赋值为实例自有属性。
- 后续访问直接从自有属性读取,避免 getter 开销。
- 结果显示,z.string() 在 4.5 版本中仅占用 784 字节内存。
「编程与Agent」频道最新
- 晒我的 AI「幕僚长」:睡前下指令,醒来文章已上线 — leebase65 · 2026-08-29
- 编码 Agent 崩坏非因模型笨,而是上下文失管 — FounderWithCode · 2026-08-29
- 让 MCP 服务器接管数学计算,LLM 只负责推理 — jonbillml · 2026-08-29
- 用 10 个并发 Codex 会话重构旧代码库的快乐 — cnakazawa · 2026-08-29
- 新技能让编码 Agent 自动发布经验教训到 Gist — kaiwei_chang · 2026-08-29
- Anthropic 确认与 Cursor 深度合作,将扩大算力支持 — ns123abc · 2026-08-29