Syrup Bandwidth Benchmark Skill

SkillDev tools

Measure encoding/decoding throughput across Syrup implementations. This skill provides bandwidth benchmarks for comparing serialization performance.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Syrup Bandwidth Benchmark Skill skill

What this skill tells your AI

The instructions your AI receives, as published by plurigrid/asi in skills/bandwidth-benchmark/SKILL.md and read by ahel’s review.

Overview

Measure encoding/decoding throughput across Syrup implementations. This skill provides bandwidth benchmarks for comparing serialization performance.

Benchmark Results

Test Structure: Skill Invocation

(syrec "skill:invoke" ['gay-mcp 'palette {"n" 4 "seed" 1069} 0])

Wire format: 57 bytes

Throughput by Runtime

RuntimeDirectionOperations/secBandwidth
ClojureEncode50,2102.86 MB/s
ClojureDecode12,2600.70 MB/s
ZigEncode58,882,41215,073 MB/s

Performance Ratio: Zig is 5,265x faster than Clojure for encoding.

Usage

Run Zig Benchmark

# Quick benchmark
zig build-exe -OReleaseFast --dep syrup -Mroot=benchmarks/bandwidth_simple.zig \
  -Msyrup=src/syrup.zig -femit-bin=/tmp/bench && /tmp/bench

# Full benchmark (via build.zig)
zig build bandwidth

Run Clojure Benchmark

bb syrup_bandwidth_benchmark.clj

Run Rust Benchmark

cd ocapn-syrup-rust
cargo run --example bandwidth_benchmark --release

Network Saturation Analysis

Zig's 15 GB/s encoding rate vs network speeds:

NetworkSpeedZig Headroom
1 Gbps Ethernet125 MB/s120x
10 Gbps Ethernet1,250 MB/s12x
100 Gbps Ethernet12,500 MB/s1.2x

Conclusion: Zig syrup can saturate a 100 Gbps network interface.

Performance Characteristics

Clojure (JVM)

  • Pros: Fast iteration, REPL-driven, expressive
  • Cons: GC pauses, heap allocations, ~3 MB/s throughput
  • Best for: Scripting, prototyping, non-latency-critical services

Rust (AOT)

  • Pros: Safety + performance, Serde integration, ~500-2000 MB/s
  • Cons: Compile times, borrow checker learning curve
  • Best for: Production services, high-throughput systems

Zig (AOT)

  • Pros: Zero-allocation, deterministic, ~15,000 MB/s
  • Cons: Smaller ecosystem, manual memory management
  • Best for: Embedded, real-time, maximum throughput

Practical Scenarios

Video Streaming @ 60fps

  • Frame size: 1MB
  • Required: 60 MB/s
  • Zig: ✅ 251x headroom (15,073 MB/s)
  • Clojure: ❌ 20x too slow (3 MB/s)

Microservice RPC

  • Network latency dominates
  • All runtimes perform similarly
  • Choose based on ecosystem/team expertise

Embedded Sensor → Cloud

  • Zig on MCU: Efficient, deterministic
  • Battery life: Zero-allocation = less power
  • Throughput: Can saturate any radio

Files

  • benchmarks/bandwidth_simple.zig - Quick Zig benchmark
  • benchmarks/bandwidth_benchmark.zig - Full Zig benchmark
  • syrup_bandwidth_benchmark.clj - Clojure benchmark
  • SYRUP_BANDWIDTH_COMPARISON.md - Complete comparison

Related Skills

  • cross-runtime-exchange - Verify CID compatibility

Signals

GitHub stars
63
Forks
12
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
bandwidth-benchmark
Source
github.com/plurigrid/asi