このページは FormatArc のブログ記事が引用している実測の生データです。検索結果には表示されません (noindex)。
| File | Size |
|---|---|
| README.md | 1.1 KB |
| measure.py | 2.8 KB |
| results.json | 551 B |
| sample.json | 857 B |
| sample.yaml | 667 B |
# YAML vs JSON: size (chars/bytes) and token cost
`yaml-json-difference` 記事のサイズ比較・LLM トークン比較の一次ソース。
同一データ (32 行の web サーバー/K8s 風サンプル) を YAML / pretty JSON /
compact JSON で表現し、文字数・バイト数・tiktoken トークン数を比較する。
## 実行環境
- Apple M5 Pro / macOS (Darwin 25.5.0)
- Python 3.14 + tiktoken 0.13.0 (`cl100k_base` / `o200k_base`)
## 再現手順
```bash
cd scripts/benchmarks/yaml-vs-json-tokens
python3 -m venv venv
./venv/bin/pip install tiktoken
./venv/bin/python measure.py
```
## 実測結果 (2026-07-13 再測定、初回 2026-06-23 と同値)
| format | chars | bytes | cl100k | o200k |
|---|---|---|---|---|
| JSON (pretty, indent=2) | 857 | 857 | 281 | 281 |
| YAML | 667 | 667 | 218 | 217 |
| JSON (compact) | 686 | 686 | 180 | 183 |
- YAML vs JSON (pretty): chars -22.2% / cl100k -22.4% / o200k -22.8%
- YAML vs JSON (compact): chars -2.8% / cl100k +21.1% / o200k +18.6%
記事本文の数値は `results.json` と完全一致させること。
{
"topic": "YAML vs JSON size and token cost (same 32-line web/K8s-style sample)",
"environment": {
"machine": "Apple M5 Pro (macOS, Darwin 25.5.0)",
"python": "3.14.6",
"tiktoken": "0.13.0"
},
"rows": {
"JSON (pretty)": {
"chars": 857,
"bytes": 857,
"cl100k": 281,
"o200k": 281
},
"YAML": {
"chars": 667,
"bytes": 667,
"cl100k": 218,
"o200k": 217
},
"JSON (compact)": {
"chars": 686,
"bytes": 686,
"cl100k": 180,
"o200k": 183
}
}
}