Syrup Bandwidth Benchmark Skill
SkillDev toolsMeasure 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.
No other account needed.
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
| Runtime | Direction | Operations/sec | Bandwidth |
|---|---|---|---|
| Clojure | Encode | 50,210 | 2.86 MB/s |
| Clojure | Decode | 12,260 | 0.70 MB/s |
| Zig | Encode | 58,882,412 | 15,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:
| Network | Speed | Zig Headroom |
|---|---|---|
| 1 Gbps Ethernet | 125 MB/s | 120x |
| 10 Gbps Ethernet | 1,250 MB/s | 12x |
| 100 Gbps Ethernet | 12,500 MB/s | 1.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 benchmarkbenchmarks/bandwidth_benchmark.zig- Full Zig benchmarksyrup_bandwidth_benchmark.clj- Clojure benchmarkSYRUP_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