Skip to content

Benchmarks

Reference machine: Intel Core i7-12800H (14C/20T, 2.8–4.8 GHz) · 32 GB RAM · Arch Linux.

Transform throughput

A single pipeline on a single-thread Tokio runtime, varying the number of chained transforms. Native is pure Rust (no scripting) and serves as the overhead baseline.

Transforms native rhai lua python
0 2.39 M
1 1.42 M 488.7 K 209.5 K 21.8 K
3 837.9 K 196.1 K 70.3 K 4.0 K
5 548.3 K 119.8 K 43.2 K 5.9 K
10 327.3 K 61.7 K 21.5 K
20 181.5 K 31.5 K 10.8 K

Python benchmarks use 1 K envelopes (vs 10 K for embedded runtimes) due to subprocess overhead per invocation. Entries marked were not measured.

Pipeline scaling

Each pipeline runs 2 native + 1 Rhai transform on a multi-thread Tokio runtime. This measures how aggregate throughput grows as more concurrent pipelines are added.

Pipelines total (env/s) per-pipeline (env/s)
1 444.6 K 444.6 K
5 1.24 M 247.5 K
10 1.83 M 183.0 K
25 2.20 M 87.9 K
50 2.06 M 41.2 K
100 2.30 M 23.0 K
500 2.41 M 4.8 K

Per-pipeline throughput drops as pipelines compete for CPU. For I/O-bound pipelines (e.g. Kafka source → Kafka sink), the bottleneck shifts to the external system and these numbers do not apply.