Skip to content

Benchmark Notes ​

This page exists to keep performance claims precise.

Read This Before Quoting Numbers ​

ASUN does not have one universal speed multiplier across all languages.

Use benchmark claims carefully:

  • quote a language, not just "ASUN"
  • say whether the result is text or binary
  • say whether the payload is flat rows, deep nesting, or a tiny single object
  • say whether the benchmark is throughput, latency, round-trip, encode only, or decode only

What Usually Transfers Across Languages ​

  • token savings on repeated rows
  • smaller text payloads than repeated-key JSON
  • better parsing shape for repeated schema-driven data
  • binary mode usually outperforming text mode inside one runtime

What Does Not Automatically Transfer ​

  • Rust numbers do not automatically apply to Go, Java, Python, or other ports
  • a native implementation does not predict a dynamic-runtime result
  • a binary benchmark does not justify a text benchmark claim
  • a large-array benchmark does not justify a tiny single-object claim

Current Ecosystem Notes ​

Language familyNotes
RustMost mature benchmark set in this repo; best source for detailed snapshots
GoStrong fit for repeated structs and service-style workloads
JavaGood fit for managed-runtime structured data workloads
PythonBenefits more from compact structure and schema reuse than from raw VM speed
C / C++ / ZigGood candidates for high-throughput native workloads

Good:

  • "Rust shows strong decode wins on repeated rows."
  • "Binary mode is usually the fastest path within one runtime."
  • "Performance varies by language and payload shape."

Avoid:

  • "ASUN is always 7x faster than JSON."
  • "All language ports show the same parse speedup."
  • "Binary numbers prove text-mode performance."

Where to Look Next ​

Released under the MIT License.