基准测试
本页的基准测试从两个关键维度衡量 TOON 的表现:
- 检索准确率:大语言模型理解不同输入格式并从中提取信息的能力。
- Token 使用效率:每种格式表示相同数据所需的 token 数量。
为了保证公平比较,基准测试被划分为两个赛道:
- 混合结构赛道:嵌套和半一致数据集(TOON vs JSON, YAML, XML)。CSV 被排除在外,因为它无法在无损扁平化的情况下表示这些结构。
- 纯扁平结构赛道:完全适合表格化的扁平数据集,此时 CSV 是公平的竞争者(CSV vs TOON vs JSON, YAML, XML)。
检索准确率
基准测试包含 244 个数据检索问题,用于评估 4 个大语言模型对不同输入格式的理解能力。
查看数据集目录
数据集目录
| 数据集 | 行数 | 结构 | CSV 支持 | 表格化适用率 |
|---|---|---|---|---|
| 字段一致的员工记录 | 100 | 字段一致 | ✓ | 100% |
| 带嵌套结构的电商订单 | 50 | 嵌套 | ✗ | 33% |
| 时间序列分析数据 | 60 | 字段一致 | ✓ | 100% |
| GitHub 前 100 仓库 | 100 | 字段一致 | ✓ | 100% |
| 部分一致的事件日志 | 75 | 部分一致 | ✗ | 50% |
| 深度嵌套配置 | 1 | 深度嵌套 | ✗ | 0% |
| 有效的完整数据集(对照组) | 20 | 字段一致 | ✓ | 100% |
| 数组被截断:末尾移除 3 行 | 20 | 字段一致 | ✓ | 100% |
| 超出声明长度的多余行 | 20 | 字段一致 | ✓ | 100% |
| 字段数量不一致 (第 10 行缺少 salary 字段) | 20 | 字段一致 | ✓ | 100% |
| 缺少必需字段 (多行缺少 email 字段) | 20 | 字段一致 | ✓ | 100% |
| 以名称为键的特性标志记录 | 40 | 字段一致 | ✗ | 100% |
| 带嵌套地址和套餐组的联系人 | 50 | 嵌套 | ✗ | 100% |
结构类别:
- 字段一致:所有对象都具有完全相同的字段,且字段值均为基本类型
- 部分一致:部分对象共享相同字段结构,其他对象包含不同字段或嵌套结构
- 嵌套:包含嵌套结构(嵌套对象或数组)的对象
- 深度嵌套:高度嵌套,表格化适用率极低
CSV 支持: ✓(支持),✗(不支持,需要有损的扁平化处理)
表格化适用率: 符合 TOON 表格化形式条件的数组和带键映射所占百分比(由基本类型或可折叠为嵌套字段组的一致嵌套对象组成的一致结构记录)
检索效率排名(每 1K token 的准确率)
按检索效率(每 1,000 个 token 对应的准确率百分比)对各格式进行排名:
TOON ████████████████████ 29.2 acc%/1K tok │ 72.2% ±2.8 acc │ 2,474 tokens
JSON compact ████████████████░░░░ 23.8 acc%/1K tok │ 69.0% ±2.9 acc │ 2,892 tokens
YAML ██████████████░░░░░░ 20.1 acc%/1K tok │ 70.1% ±2.9 acc │ 3,487 tokens
JSON ███████████░░░░░░░░░ 16.6 acc%/1K tok │ 71.4% ±2.8 acc │ 4,308 tokens
XML ██████████░░░░░░░░░░ 14.4 acc%/1K tok │ 70.7% ±2.9 acc │ 4,909 tokens检索效率分数 = (准确率 % ÷ Token 数) × 1,000。数值越高越好。
TIP
TOON 达到了 72.2% 的准确率(JSON 为 71.4%),同时所用 token 减少了 42.6%。
NOTE
CSV 未列入排名,因为它仅支持 244 个问题中的 109 个(仅限扁平表格数据)。虽然 CSV 对简单表格数据的 token 使用效率极高,但它无法表示其他格式可处理的嵌套结构。
扁平数据集准确率
在这里,每种格式都回答同样的 109 个扁平数据集问题(每个模型各一轮),因此 CSV 可以在同等条件下比较。
| 格式 | 准确率 | 正确数/总数 | 平均 Token |
|---|---|---|---|
toon | 63.1% ±4.5 | 275/436 | 1,994 |
csv | 62.2% ±4.5 | 271/436 | 1,851 |
json-pretty | 60.3% ±4.6 | 263/436 | 3,950 |
xml | 60.1% ±4.6 | 262/436 | 4,516 |
yaml | 59.9% ±4.6 | 261/436 | 3,270 |
json-compact | 58.0% ±4.6 | 253/436 | 2,718 |
各模型准确率
4 个大语言模型在 244 个数据检索问题上的准确率:
claude-haiku-4-5-20251001
→ TOON █████████████░░░░░░░ 65.6% ±5.9 (160/244)
JSON █████████████░░░░░░░ 63.5% ±6.0 (155/244)
XML ████████████░░░░░░░░ 62.3% ±6.0 (152/244)
YAML ████████████░░░░░░░░ 62.3% ±6.0 (152/244)
JSON compact ████████████░░░░░░░░ 61.9% ±6.0 (151/244)
CSV ██████████░░░░░░░░░░ 49.5% ±9.2 (54/109)
gemini-3.6-flash
→ TOON ██████████████░░░░░░ 69.3% ±5.8 (169/244)
JSON ██████████████░░░░░░ 68.4% ±5.8 (167/244)
YAML ██████████████░░░░░░ 67.6% ±5.8 (165/244)
XML █████████████░░░░░░░ 65.2% ±5.9 (159/244)
JSON compact █████████████░░░░░░░ 63.5% ±6.0 (155/244)
CSV ████████████░░░░░░░░ 57.8% ±9.1 (63/109)
gpt-5.4-nano
XML ████████████░░░░░░░░ 59.4% ±6.1 (145/244)
JSON ███████████░░░░░░░░░ 57.4% ±6.2 (140/244)
→ TOON ███████████░░░░░░░░░ 57.0% ±6.2 (139/244)
JSON compact ███████████░░░░░░░░░ 54.9% ±6.2 (134/244)
YAML ███████████░░░░░░░░░ 54.5% ±6.2 (133/244)
CSV █████████░░░░░░░░░░░ 46.8% ±9.2 (51/109)
grok-4.5
→ TOON ███████████████████░ 97.1% ±2.2 (237/244)
JSON ███████████████████░ 96.3% ±2.5 (235/244)
XML ███████████████████░ 95.9% ±2.6 (234/244)
YAML ███████████████████░ 95.9% ±2.6 (234/244)
JSON compact ███████████████████░ 95.5% ±2.7 (233/244)
CSV ███████████████████░ 94.5% ±4.5 (103/109)NOTE
准确率包含 Wilson 95% 置信区间(±);当两种格式的区间重叠时,它们之间的差异不具备统计显著性。CSV 只回答 109 个扁平数据集问题,因此其按模型统计覆盖的是更小、更容易的数据群体。
按数据集和问题类型划分的表现
按问题类型划分的表现
| 问题类型 | TOON | JSON | XML | YAML | JSON compact | CSV |
|---|---|---|---|---|---|---|
| 字段检索 | 97.8% | 99.2% | 99.2% | 99.7% | 98.9% | 100.0% |
| 聚合运算 | 48.4% | 48.4% | 46.0% | 46.0% | 45.2% | 32.8% |
| 筛选过滤 | 38.0% | 41.1% | 37.5% | 40.1% | 38.0% | 33.3% |
| 结构感知 | 90.3% | 84.0% | 84.0% | 79.2% | 78.5% | 82.8% |
| 结构校验 | 100.0% | 50.0% | 80.0% | 50.0% | 45.0% | 80.0% |
按数据集划分的表现
字段一致的员工记录
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
csv | 64.6% | 2,336 | 106/164 |
toon | 62.8% | 2,537 | 103/164 |
json-compact | 62.2% | 3,919 | 102/164 |
yaml | 64.0% | 4,982 | 105/164 |
json-pretty | 62.2% | 6,326 | 102/164 |
xml | 61.0% | 7,286 | 100/164 |
带嵌套结构的电商订单
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
json-compact | 70.7% | 6,875 | 116/164 |
toon | 71.3% | 7,344 | 117/164 |
yaml | 72.0% | 8,456 | 118/164 |
json-pretty | 71.3% | 10,842 | 117/164 |
xml | 74.4% | 12,180 | 122/164 |
时间序列分析数据
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
csv | 64.2% | 1,408 | 77/120 |
toon | 63.3% | 1,595 | 76/120 |
json-compact | 59.2% | 2,351 | 71/120 |
yaml | 62.5% | 2,951 | 75/120 |
json-pretty | 65.0% | 3,678 | 78/120 |
xml | 62.5% | 4,386 | 75/120 |
GitHub 前 100 仓库
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
toon | 57.6% | 9,017 | 76/132 |
csv | 54.5% | 8,726 | 72/132 |
json-compact | 53.8% | 11,650 | 71/132 |
yaml | 53.8% | 13,350 | 71/132 |
json-pretty | 55.3% | 15,350 | 73/132 |
xml | 53.8% | 17,304 | 71/132 |
部分一致的事件日志
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
json-compact | 56.7% | 4,793 | 68/120 |
toon | 60.8% | 5,814 | 73/120 |
json-pretty | 60.0% | 6,759 | 72/120 |
yaml | 55.0% | 5,798 | 66/120 |
xml | 50.8% | 7,668 | 61/120 |
深度嵌套配置
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
json-compact | 91.4% | 562 | 106/116 |
yaml | 93.1% | 675 | 108/116 |
toon | 91.4% | 669 | 106/116 |
json-pretty | 94.8% | 918 | 110/116 |
xml | 94.0% | 1,007 | 109/116 |
有效的完整数据集(对照组)
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
toon | 100.0% | 566 | 4/4 |
json-compact | 100.0% | 772 | 4/4 |
yaml | 100.0% | 984 | 4/4 |
json-pretty | 100.0% | 1,259 | 4/4 |
xml | 0.0% | 1,441 | 0/4 |
csv | 0.0% | 473 | 0/4 |
数组被截断:末尾移除 3 行
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
csv | 100.0% | 408 | 4/4 |
toon | 100.0% | 498 | 4/4 |
xml | 100.0% | 1,229 | 4/4 |
json-pretty | 0.0% | 1,075 | 0/4 |
yaml | 0.0% | 841 | 0/4 |
json-compact | 0.0% | 660 | 0/4 |
超出声明长度的多余行
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
csv | 100.0% | 547 | 4/4 |
toon | 100.0% | 644 | 4/4 |
xml | 100.0% | 1,663 | 4/4 |
json-pretty | 0.0% | 1,452 | 0/4 |
yaml | 0.0% | 1,135 | 0/4 |
json-compact | 0.0% | 893 | 0/4 |
字段数量不一致(第 10 行缺少 salary 字段)
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
csv | 100.0% | 470 | 4/4 |
toon | 100.0% | 563 | 4/4 |
json-compact | 75.0% | 767 | 3/4 |
xml | 100.0% | 1,432 | 4/4 |
yaml | 75.0% | 977 | 3/4 |
json-pretty | 75.0% | 1,251 | 3/4 |
缺少必需字段(多行缺少 email 字段)
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
csv | 100.0% | 442 | 4/4 |
toon | 100.0% | 535 | 4/4 |
xml | 100.0% | 1,386 | 4/4 |
yaml | 75.0% | 941 | 3/4 |
json-pretty | 75.0% | 1,207 | 3/4 |
json-compact | 50.0% | 732 | 2/4 |
以名称为键的特性标志记录
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
toon | 97.1% | 931 | 66/68 |
json-compact | 94.1% | 1,264 | 64/68 |
yaml | 92.6% | 1,443 | 63/68 |
json-pretty | 95.6% | 1,873 | 65/68 |
xml | 95.6% | 2,306 | 65/68 |
带嵌套地址和套餐组的联系人
| 格式 | 准确率 | Token 数 | 正确数/总数 |
|---|---|---|---|
toon | 94.4% | 1,444 | 68/72 |
json-compact | 91.7% | 2,357 | 66/72 |
yaml | 94.4% | 2,797 | 68/72 |
json-pretty | 97.2% | 4,014 | 70/72 |
xml | 98.6% | 4,534 | 71/72 |
运行配置
- 测试模型:
claude-haiku-4-5-20251001、gemini-3.6-flash、gpt-5.4-nano、grok-4.5 - 对比格式:TOON、JSON、XML、YAML、JSON compact、CSV
- Token 计数:使用
gpt-tokenizer和o200k_base编码(GPT-5 分词器)。因服务商的分词方式不同,Token 绝对数量与分词器相关;但相对数量差异仍具参考意义。 - 推理:通过 AI SDK 的通用
reasoning: 'none'禁用(Gemini 3 最低为 minimal thinking,grok-4.5为low) - 温度参数:未设置(使用模型默认值)
- 评测总数:244 个问题 × 6 种格式 × 4 个模型 = 5,856 次大语言模型调用
数据集内容、问题生成方式和答案校验方式详见 benchmark README。
Token 使用效率
Token 数量使用 GPT-5 的 o200k_base 分词器,并通过 gpt-tokenizer 测量。节省比例以格式化 JSON(2 空格缩进)为主要基线计算,并额外对比 JSON compact、YAML 和 XML。实际节省效果因模型和分词器而异。
基准测试涵盖了不同结构模式(字段一致、部分一致、嵌套、深度嵌套)的数据集,以展示 TOON 的优势场景以及其他格式可能更适用的场景。
混合结构赛道
具有嵌套或部分一致结构的数据集。CSV 被排除在外,因为它无法正确表示这些结构。
🛒 带嵌套结构的电商订单 ┊ 表格化适用率:33%
│
TOON █████████████░░░░░░░ 72,832 tokens
├─ vs JSON (−32.9%) 108,611 tokens
├─ vs JSON compact (+5.6%) 68,944 tokens
├─ vs YAML (−14.0%) 84,701 tokens
└─ vs XML (−40.4%) 122,119 tokens
🧾 部分一致的事件日志 ┊ 表格化适用率:50%
│
TOON █████████████████░░░ 154,084 tokens
├─ vs JSON (−15.0%) 181,201 tokens
├─ vs JSON compact (+19.9%) 128,529 tokens
├─ vs YAML (−0.8%) 155,397 tokens
└─ vs XML (−25.2%) 205,859 tokens
🧩 深度嵌套配置 ┊ 表格化适用率:0%
│
TOON █████████████░░░░░░░ 589 tokens
├─ vs JSON (−34.9%) 905 tokens
├─ vs JSON compact (+6.7%) 552 tokens
├─ vs YAML (−11.0%) 662 tokens
└─ vs XML (−40.9%) 997 tokens
📊 以名称为键的特性标志记录 ┊ 表格化适用率:100%
│
TOON █████████░░░░░░░░░░░ 10,503 tokens
├─ vs JSON (−54.6%) 23,141 tokens
├─ vs JSON compact (−32.8%) 15,635 tokens
├─ vs YAML (−41.3%) 17,905 tokens
└─ vs XML (−63.3%) 28,655 tokens
📊 带嵌套地址和套餐组的联系人 ┊ 表格化适用率:100%
│
TOON ███████░░░░░░░░░░░░░ 26,726 tokens
├─ vs JSON (−66.5%) 79,779 tokens
├─ vs JSON compact (−42.9%) 46,791 tokens
├─ vs YAML (−51.8%) 55,475 tokens
└─ vs XML (−70.4%) 90,306 tokens
──────────────────────────────────── 总计 ────────────────────────────────────
TOON █████████████░░░░░░░ 264,734 tokens
├─ vs JSON (−32.7%) 393,637 tokens
├─ vs JSON compact (+1.6%) 260,451 tokens
├─ vs YAML (−15.7%) 314,140 tokens
└─ vs XML (−40.9%) 447,936 tokens纯扁平结构赛道
具有扁平、完全适合表格化的数据,CSV 也适用。
👥 字段一致的员工记录 ┊ 表格化适用率:100%
│
CSV ███████████████████░ 47,153 tokens
TOON ████████████████████ 49,978 tokens (+6.0% vs CSV)
├─ vs JSON (−60.7%) 127,061 tokens
├─ vs JSON compact (−36.8%) 79,057 tokens
├─ vs YAML (−50.0%) 100,054 tokens
└─ vs XML (−65.9%) 146,605 tokens
📈 时间序列分析数据 ┊ 表格化适用率:100%
│
CSV ██████████████████░░ 8,383 tokens
TOON ████████████████████ 9,115 tokens (+8.7% vs CSV)
├─ vs JSON (−59.0%) 22,245 tokens
├─ vs JSON compact (−35.9%) 14,211 tokens
├─ vs YAML (−49.0%) 17,858 tokens
└─ vs XML (−65.8%) 26,616 tokens
⭐ GitHub 前 100 仓库 ┊ 表格化适用率:100%
│
CSV ███████████████████░ 8,711 tokens
TOON ████████████████████ 8,937 tokens (+2.6% vs CSV)
├─ vs JSON (−41.7%) 15,337 tokens
├─ vs JSON compact (−23.2%) 11,640 tokens
├─ vs YAML (−33.0%) 13,337 tokens
└─ vs XML (−48.3%) 17,294 tokens
──────────────────────────────────── 总计 ────────────────────────────────────
CSV ███████████████████░ 64,247 tokens
TOON ████████████████████ 68,030 tokens (+5.9% vs CSV)
├─ vs JSON (−58.7%) 164,643 tokens
├─ vs JSON compact (−35.2%) 104,908 tokens
├─ vs YAML (−48.2%) 131,249 tokens
└─ vs XML (−64.3%) 190,515 tokensToken 数量使用 gpt-tokenizer 和 o200k_base 编码(GPT-5 分词器)。因服务商的分词方式不同,Token 绝对数量与分词器相关;但相对数量差异仍具参考意义。
查看详细示例
📈 时间序列分析数据
节省: 13,130 个 token(相较 JSON 减少 59.0%)
JSON(22,245 个 token):
{
"metrics": [
{
"date": "2025-01-01",
"views": 6138,
"clicks": 174,
"conversions": 12,
"revenue": 2712.49,
"bounceRate": 0.35
},
{
"date": "2025-01-02",
"views": 4616,
"clicks": 274,
"conversions": 34,
"revenue": 9156.29,
"bounceRate": 0.56
},
{
"date": "2025-01-03",
"views": 4460,
"clicks": 143,
"conversions": 8,
"revenue": 1317.98,
"bounceRate": 0.59
},
{
"date": "2025-01-04",
"views": 4740,
"clicks": 125,
"conversions": 13,
"revenue": 2934.77,
"bounceRate": 0.37
},
{
"date": "2025-01-05",
"views": 6428,
"clicks": 369,
"conversions": 19,
"revenue": 1317.24,
"bounceRate": 0.3
}
]
}TOON(9,115 个 token):
metrics[5]{date,views,clicks,conversions,revenue,bounceRate}:
2025-01-01,6138,174,12,2712.49,0.35
2025-01-02,4616,274,34,9156.29,0.56
2025-01-03,4460,143,8,1317.98,0.59
2025-01-04,4740,125,13,2934.77,0.37
2025-01-05,6428,369,19,1317.24,0.3⭐ GitHub 前 100 仓库
节省: 6,400 个 token(相较 JSON 减少 41.7%)
JSON(15,337 个 token):
{
"repositories": [
{
"id": 132750724,
"name": "build-your-own-x",
"repo": "codecrafters-io/build-your-own-x",
"description": "Master programming by recreating your favorite technologies from scratch.",
"createdAt": "2018-05-09T12:03:18Z",
"updatedAt": "2026-07-23T18:57:15Z",
"pushedAt": "2026-07-14T19:25:58Z",
"stars": 530712,
"watchers": 6778,
"forks": 50205,
"defaultBranch": "master"
},
{
"id": 21737465,
"name": "awesome",
"repo": "sindresorhus/awesome",
"description": "😎 Awesome lists about all kinds of interesting topics",
"createdAt": "2014-07-11T13:42:37Z",
"updatedAt": "2026-07-23T18:57:24Z",
"pushedAt": "2026-06-30T18:21:16Z",
"stars": 488074,
"watchers": 8292,
"forks": 36010,
"defaultBranch": "main"
},
{
"id": 28457823,
"name": "freeCodeCamp",
"repo": "freeCodeCamp/freeCodeCamp",
"description": "freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming,…",
"createdAt": "2014-12-24T17:49:19Z",
"updatedAt": "2026-07-22T07:01:33Z",
"pushedAt": "2026-07-21T18:00:51Z",
"stars": 452380,
"watchers": 8590,
"forks": 45624,
"defaultBranch": "main"
}
]
}TOON(8,937 个 token):
repositories[3]{id,name,repo,description,createdAt,updatedAt,pushedAt,stars,watchers,forks,defaultBranch}:
132750724,build-your-own-x,codecrafters-io/build-your-own-x,Master programming by recreating your favorite technologies from scratch.,"2018-05-09T12:03:18Z","2026-07-23T18:57:15Z","2026-07-14T19:25:58Z",530712,6778,50205,master
21737465,awesome,sindresorhus/awesome,😎 Awesome lists about all kinds of interesting topics,"2014-07-11T13:42:37Z","2026-07-23T18:57:24Z","2026-06-30T18:21:16Z",488074,8292,36010,main
28457823,freeCodeCamp,freeCodeCamp/freeCodeCamp,"freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming,…","2014-12-24T17:49:19Z","2026-07-22T07:01:33Z","2026-07-21T18:00:51Z",452380,8590,45624,main