Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Zod4.5を10分で
Search
赤神青空
PRO
September 02, 2026
Video
Programming
47
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Zod4.5を10分で
赤神青空
PRO
September 02, 2026
Video
More Decks by 赤神青空
See All by 赤神青空
【AWS資格のニュース】SAP が SAP-C03 に変わります
akagami
PRO
0
2
【力学 #5】単振り子と小角近似
akagami
PRO
0
5
【AIニュース】Genie 4 とは何か
akagami
PRO
0
15
【基本情報対策】IPアドレスとサブネットマスク
akagami
PRO
0
15
GPT-6 Cyber とは何か
akagami
PRO
0
15
【AWSの新サービス】Amazon ECS Gateway とは何か
akagami
PRO
0
20
【力学 #4】単振動:ばねの運動方程式を解く
akagami
PRO
0
9
【力学 #4】単振動:ばねの運動方程式を解く
akagami
PRO
0
10
Cloudflare の AI で他人の会話が混ざった?
akagami
PRO
0
27
Other Decks in Programming
See All in Programming
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
740
仕様駆動開発入門 (何を作るかを先に決めて渡す) | 目指せ Kiro マスター 05
inariku
PRO
2
120
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.7k
Будущее локальных LLM – Алексей Голобурдин, PythoNN
sobolevn
0
120
Seven New Principles of Software Engineering
yegor256
0
470
protojson における文字化けの扱い
kazuki1023
0
310
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
160
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
340
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
5.2k
LLM 101
dalinaum
0
480
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
240
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
620
Marketing to machines
jonoalderson
1
6k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Raft: Consensus for Rubyists
vanstee
143
7.9k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.2k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
740
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
690
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
2026年9月 Zod 4.5 を10分で 速くなって、軽くなって、少しだけ厳しくなった 赤神 青空
▪2026年8月28日リリース 4.5を3つの数字で 3〜7x パース速度 z.compile() を使った場合 今ココ はじめに 9.8x メモリ削減
z.string() 1個あたり 7.5x 失敗パス safeParse の失敗が速くなった 2/11
▪速くなった・軽くなった・少し厳しくなった 起きたことは3つ 4.5は性能リリース。ただし挙動の修正も静かに入っている。 持って帰っていただくのは、この3つだけです。 01 02 03 スキーマを事前にコンパイルできる スキーマ1個あたりの常駐メモリが減っ た
今まで通っていた入力が弾かれる 速くなった 今ココ はじめに 軽くなった 厳しくなった 3/11
▪4.5の目玉、z.compile() 専用の関数を生成する スキーマを1度だけ走査して、分岐だけが並んだJavaScriptを生成する。 実行時に生成する new Function() で作る。ビルド設定 は不要。 使い方は変わらない 型もエラーも通常のスキーマと同
一。 速いのは成功時だけ 失敗した入力は通常パーサに戻る。 20キーのobjectで7.8倍。形が複雑なほど効く。 今ココ 速くなった 4/11
▪個別に掛けるか、アプリ全体に掛けるか 入れ方は2通り 全体モードは遅延。実際にパースしたスキーマだけがコンパイルされる。 typescript const Compiled = z.compile(Player); Compiled.parse(input); //
20キーobjectで7.8倍 typescript import "zod/compile"; // 定義より先に置く import * as z from "zod"; bash node --import zod/compile app.js 今ココ 速くなった 5/11
▪20キーのobject・1回あたり・中央値 手元で測ってみた 失敗 成功 12,404 → 1,753 ns 696 →
410 ns 7.1倍。上げるだけで手に入る コンパイルまで掛けると 97 ns 4.4.3 → 4.5.4。失敗パスが素直に効く 今ココ 速くなった 6/11
▪コンパイラ本体がバンドルに乗る タダではない ✕ 入れると増える gzipで約7KB(minifyで28KB) Zod: 24.1KB → 31.1KB Zod
Mini: 4.6KB → 13.2KB 失敗の多い入口はむしろ2度手間 ◯ 使わなければゼロ 呼ばなければ完全にtree-shakeされる CSP環境では new Function が不可 非同期や再帰を含むと黙って降りる サーバのホットパスから試すのが素直 ライブラリ側で zod/compile を import しないこと。これはアプリ側の設定。 今ココ 速くなった 7/11
▪メモリが1桁減った理由 メソッドの束縛をやめた 4.4は全メソッドをインスタンスに束縛していた。それを prototype に戻した。 4.4のz.string() 自前プロパティ49個。うち40個が関 数。 4.5のz.string() 6個。触らないメソッドは作られな
い。 手元でも確認した 7.30kb → 0.79kb。9.2倍の削減。 これは何もしなくても効く。上げるだけでいい。 今ココ 軽くなった 8/11
▪同じ入力を4.4.3と4.5.4に食わせた結果 厳しくなった4つ 日時 文字数 ULID IPv6 秒が無いと弾く 絵文字5個が通る 先頭Zは弾く ::1+改行は弾く
4.4.3では分精度も通っていた 4.4.3では弾いた/min(5)は逆 0〜7のみ。4.4.3では通っていた 4.4.3では通っていた いずれも健全性の修正。既存の入力を先に洗う 今ココ 変わった 9/11
▪明日からやること まとめ 01 まず上げる 失敗の7.1倍もメモリ削減も、上げるだけで効く。 02 compile はホットパスから 7KB増える。効くのはキーの多いスキーマ。 03
日時と文字数の検証を洗う 分精度のISO文字列と、絵文字を含む入力が対象。 今ココ まとめ 10/11
▪一次情報と、実測に使った環境 出典 zod.dev/blog/zod-4-5 ── リリース本体 zod.dev/blog/introducing-z-compile ── 仕組み zod.dev/blog/reducing-memory-footprint zod.dev/compile
── AOTコンパイルのドキュメント 実測は Node 22.22.2 / zod 4.5.4 と 4.4.3 今ココ まとめ 11/11