Skip to content

Latest commit

 

History

History
261 lines (202 loc) · 9.6 KB

File metadata and controls

261 lines (202 loc) · 9.6 KB

🚀 TOON vs JSON: Benchmark Results

Executive Summary

TOON achieves MASSIVE memory and token savings compared to JSON across 50 diverse, real-world datasets.

┌────────────────────────────────────────────────────────────────┐
│                                                                │
│                    ⚡ HEADLINE RESULTS ⚡                       │
│                                                                │
│     📉  63.9% SMALLER file sizes                               │
│     📉  54.1% FEWER tokens for LLM APIs                        │
│     💾  35.81KB saved across 50 test datasets                  │
│     🎯  10,735 tokens saved                                    │
│                                                                │
│                  FOR HIGH-VOLUME APPLICATIONS:                 │
│     💰  $2,147 saved per million API requests                  │
│     💰  $5,408 saved per billion tokens                        │
│                                                                │
└────────────────────────────────────────────────────────────────┘

Why This Matters

For LLM API Users

If you're sending structured data to LLM APIs (GPT-4, Claude, etc.), you're paying for every token. TOON can cut your token usage by MORE THAN HALF (54.1% average), translating directly to:

  • 54% lower API costs
  • Faster API responses (less data to transmit)
  • More content in context windows (fit more data within token limits)

Real-World Cost Impact

At typical GPT-4 pricing ($10 per 1M tokens):

Usage Volume JSON Cost TOON Cost Savings
1,000 requests $3.97 $1.82 $2.15
1M requests/year $3,970 $1,823 $2,147
1B tokens $10,000 $4,592 $5,408

Detailed Results

Tested Across 50 Real-World Datasets

We benchmarked TOON against JSON using 50 diverse, production-ready datasets representing common use cases:

  • E-commerce (products, orders, inventory)
  • Databases (query results, employee records)
  • APIs (responses, logs, requests)
  • Analytics (metrics, A/B tests, surveys)
  • IoT (sensor data, time series)
  • Social media (posts, profiles, comments)
  • Finance (transactions, stock data)
  • And much more...

Performance Distribution

🔥 EXCELLENT (≥60% savings):  30 datasets (60%)
✅ GOOD (40-60% savings):     19 datasets (38%)
📊 MODERATE (<40% savings):    1 dataset  (2%)

98% of tested datasets achieved 40%+ savings!

Top Performers

🥇 Best Overall: Survey Responses

  • 73.4% size reduction (935B → 249B)
  • 63.4% token reduction (287 → 105 tokens)

🥈 Other Champions (>70% savings):

  • ML Training Data: 71.2% size, 61.9% tokens
  • Large Inventory (100 items): 71.2% size, 57.7% tokens
  • Student Grades: 71.2% size, 61.9% tokens
  • Customer Reviews: 69.1% size, 61.0% tokens
  • Weather Forecast: 69.0% size, 55.9% tokens

Category Breakdown

Category Datasets Avg Size Savings Avg Token Savings
Tabular Data (databases, spreadsheets) 12 69.2% 59.8%
E-commerce (products, orders) 8 66.1% 56.4%
Analytics (metrics, surveys) 7 65.7% 55.2%
API Data (responses, logs) 10 58.3% 48.9%
IoT/Sensors (time series) 5 60.0% 43.7%
Social/Content (posts, profiles) 8 61.5% 52.1%

Complete Results Table

# Dataset JSON Size TOON Size Size Savings Token Savings
01 E-commerce Products 1.57KB 542B 66.3% 58.2%
02 API Response 934B 501B 46.4% 39.7%
03 Database Results 1.52KB 582B 62.5% 56.5%
04 ML Training Data 1.85KB 545B 71.2% 61.9%
05 Server Configuration 1016B 719B 29.2% 28.4%
06 Analytics Data 1.40KB 526B 63.3% 49.4%
07 Large Inventory (100 items) 13.55KB 3.90KB 71.2% 57.7%
08 Customer Reviews 828B 256B 69.1% 61.0%
09 Social Media Posts 849B 282B 66.8% 52.1%
10 Weather Forecast 777B 241B 69.0% 55.9%
11 Stock Market Data - - 59.8% 44.2%
12 Restaurant Menu - - 66.4% 61.5%
13 Hotel Bookings - - 64.2% 52.1%
14 Flight Schedule - - 68.9% 59.9%
15 Medical Records - - 59.3% 50.6%
16 Student Grades - - 71.2% 61.9%
17 Sports Statistics - - 66.3% 54.6%
18 Movie Catalog - - 68.5% 59.8%
19 Music Playlist - - 62.5% 56.7%
20 Real Estate Listings - - 66.5% 58.7%
21-50 ... (see full benchmark output) - - 60%+ avg 50%+ avg

Aggregate Statistics

Total Across All 50 Datasets

JSON TOTAL:   56.00KB  (57,349 bytes)
TOON TOTAL:   20.20KB  (20,680 bytes)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SAVED:        35.81KB  (36,669 bytes)  ⬇ 63.9%

JSON TOKENS:  19,851 tokens
TOON TOKENS:   9,116 tokens
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SAVED:        10,735 tokens            ⬇ 54.1%

Visual Savings

Size Reduction:  ████████████████████████████████░░░░░░░░░░░░░░░░░░  63.9%
Token Reduction: ███████████████████████████░░░░░░░░░░░░░░░░░░░░░░░  54.1%

Why TOON Saves So Much Memory

1. Eliminates Repeated Keys in Arrays

JSON repeats keys for every object:

[
  {"id": 1, "name": "Laptop", "price": 999},
  {"id": 2, "name": "Mouse", "price": 29},
  {"id": 3, "name": "Keyboard", "price": 149}
]

134 bytes, 48 tokens

TOON declares headers once:

[3]{id,name,price}:
  1,Laptop,999
  2,Mouse,29
  3,Keyboard,149

52 bytes, 23 tokens61% smaller, 52% fewer tokens!

2. Minimal Syntax Overhead

JSON requires:

  • Braces {} and brackets [] everywhere
  • Quotes around all keys
  • Quotes around string values
  • Commas between all elements

TOON uses:

  • Indentation for structure (like YAML)
  • Colons for key-value pairs
  • Quotes only when necessary
  • Headers for uniform arrays

3. Intelligent Type Handling

TOON automatically detects when quotes aren't needed and preserves types (numbers, booleans, null) while maintaining human readability.

Use Case Recommendations

PERFECT FOR TOON:

  1. LLM API Payloads - Cut token costs in half
  2. Database Query Results - Tabular data compression
  3. Analytics & Metrics - Time series, aggregates
  4. E-commerce Data - Product catalogs, inventory
  5. IoT Sensor Data - Regular readings
  6. API Logs & Traces - Structured log entries
  7. ML Training Data - Feature vectors, labels

⚠️ LESS OPTIMAL:

  • Highly irregular/nested data (still saves 20-40%)
  • Maximum compatibility required (JSON is universal)
  • Microsecond-level performance critical (TOON is fast, but JSON is faster)

Methodology

Test Environment

  • 50 diverse datasets representing real-world use cases
  • Accurate token counting using tiktoken (GPT-4 encoding)
  • Multiple iterations (100+) for performance measurements
  • Production-ready data (not synthetic/trivial examples)

Datasets Include:

  • E-commerce: products, orders, inventory, reviews
  • Databases: employee records, query results
  • APIs: responses, logs, requests, errors
  • Analytics: metrics, A/B tests, surveys, time series
  • IoT: sensor readings, device data
  • Social: posts, profiles, comments, messages
  • Finance: transactions, stock prices
  • Media: videos, music, blogs
  • System: logs, audit trails, notifications
  • And many more...

Token Counting

All token counts use tiktoken with GPT-4 encoding for accuracy. Results are directly applicable to:

  • GPT-4 / GPT-4 Turbo
  • GPT-3.5 Turbo
  • Claude (similar tokenization)
  • Other modern LLMs

Running the Benchmarks Yourself

# Clone the repo
git clone https://github.com/ScrapeGraphAI/toonify.git
cd toonify

# Install dependencies
pip install -e .
pip install tiktoken

# Run benchmarks
python benchmark/compare_formats.py
python benchmark/memory_benchmark.py

# Or run all at once
python benchmark/run_all.py

Conclusion

TOON delivers massive, consistent savings across diverse real-world datasets:

  • 63.9% average size reduction
  • 54.1% average token reduction
  • 98% of datasets achieve 40%+ savings
  • 60% of datasets achieve 60%+ savings
  • Thousands of dollars saved in LLM API costs for high-volume applications

The results speak for themselves: If you're working with structured data and LLM APIs, TOON can cut your costs in half while maintaining full data fidelity and readability.


Want to see the live output? Run python benchmark/compare_formats.py to see the full, interactive benchmark results!