Back to Grape

Grape throughput by version

benchmark/version_throughput/RESULTS.md

3.3.21.1 KB
Original Source

Grape throughput by version

Generated: 2026-06-14 13:30:05 CEST
Ruby: ruby 4.0.5 (2026-05-20 revision 64336ffd0e) +PRISM [arm64-darwin25]
Host: Darwin 25.5.0 arm64
Machine: MacBook Pro (Mac14,9), Apple M2 Pro, 10 cores (6P + 4E), 32 GB RAM
YJIT available: true

Single-threaded Benchmark.ips, 2s warmup + 5s measure, BenchAPI.call(env) against /api/v1/hello returning a small JSON object. Reproduce with ruby benchmark/version_throughput/run.rb.

VersionNo-YJIT (i/s)μs/reqYJIT (i/s)μs/reqYJIT speedup
3.0.132,56530.7154,94018.20+68.7%
3.1.146,64121.4485,69411.67+83.7%
3.2.147,92920.8685,32811.72+78.0%
master66,14915.12133,7607.48+102.2%

Notes

  • All versions exercised through the same BenchAPI definition (kept stable in app.rb).
  • Results are noisy at this scale (±5-8%); rerun if a number looks off.
  • YJIT speedup is (yjit_ips - no_yjit_ips) / no_yjit_ips.
  • YJIT pass uses ruby --yjit; both passes share the same Ruby binary.