EMATIX(R) DATA TERMINAL — ROBCO INDUSTRIES UNIFIED OPERATING SYSTEM
COPYRIGHT 2026 EMATIX SYSTEMS — ALL RIGHTS RESERVED
USER: GUEST   SESSION: 2026-05-20 21:00:33Z   HOST: ematix.dev/specs
// TECHNICAL SPECS

Benchmarks

TPC-H SF=1, 22 queries, Apple M3 Pro — median ms ± σ vs DuckDB, Polars, PySpark.


Same-machine TPC-H benchmark (Apple M3 Pro, single-node) over all 22 queries against SF=1 Parquet data. ematix-flow / DuckDB / Polars run in-process; PySpark runs in local[*] mode against the same files.

Each ematix-flow / DuckDB / Polars cell is median ms ± σ across 5 trials; PySpark cells are median ms across 3 trials. ”—” means the engine couldn’t parse / execute the query (dialect gap).

Headline

Full table

Queryematix-flowDuckDBPolarsPySparkBest
Q0128.11 ± 0.8745.17 ± 0.9836.22 ± 1.63189.8ematix-flow
Q0210.51 ± 1.9518.84 ± 0.1645.85 ± 0.29215.6ematix-flow
Q0315.11 ± 1.3132.36 ± 0.6345.39 ± 0.81293.7ematix-flow
Q0412.55 ± 0.1522.04 ± 0.2623.30 ± 0.14218.8ematix-flow
Q0520.93 ± 0.6230.49 ± 0.3410754.97 ± 746.46366.2ematix-flow
Q0614.50 ± 401.9911.90 ± 3.1510.57 ± 0.3647.9Polars
Q0728.96 ± 1.7931.57 ± 0.31112.41 ± 14.63288.7ematix-flow
Q0820.76 ± 0.4337.35 ± 1.2293.29 ± 3.37215.2ematix-flow
Q0928.13 ± 1.5962.42 ± 4.4247.22 ± 3.17453.0ematix-flow
Q1028.16 ± 1.1464.14 ± 2.51109.27 ± 2.49416.9ematix-flow
Q117.47 ± 0.3810.36 ± 0.389.57 ± 2.96140.0ematix-flow
Q1214.72 ± 0.1023.49 ± 0.8219.33 ± 0.67310.5ematix-flow
Q1341.36 ± 1.10141.92 ± 0.80115.08 ± 2.20699.6ematix-flow
Q1411.28 ± 0.5023.00 ± 0.5512.38 ± 0.37117.1ematix-flow
Q1515.45 ± 0.5914.51 ± 3.8011.33 ± 0.20142.0Polars
Q168.60 ± 0.2624.56 ± 0.5720.56 ± 2.41213.4ematix-flow
Q1735.71 ± 5.5428.77 ± 1.7440.28 ± 0.74272.4DuckDB
Q1852.02 ± 2.9850.70 ± 8.9556.38 ± 1.99587.1DuckDB
Q1918.81 ± 7.4234.15 ± 3.00100.06 ± 8.83103.2ematix-flow
Q2014.81 ± 0.2835.00 ± 1.9722.12 ± 0.46154.0ematix-flow
Q2138.08 ± 0.6782.49 ± 0.57679.78 ± 35.14598.8ematix-flow
Q228.25 ± 0.7923.22 ± 2.0713.06 ± 0.38284.3ematix-flow

v0.3.0 vs v0.2.1

Queryv0.2.1v0.3.0Δ
Q0178.1928.11-64%
Q0320.3815.11-26%
Q0534.0920.93-39%
Q0775.5628.96-62%
Q0835.6620.76-42%
Q0950.1628.13-44%
Q1039.7328.16-29%
Q1344.7341.36-8%
Q1419.4511.28-42%
Q1618.298.60-53%
Q18157.5552.02-67%
Q1999.7618.81-81%
Q2175.4838.08-50%

v0.3.0 win count rose from 15 → 18 / 22.

Caveats

Reproducing

# ematix-flow vs DuckDB vs Polars
cargo run --release -p ematix-flow-core \
    --example tpch_triangulation_bench --features triangulation

# PySpark (needs Java 17+; install with `brew install openjdk@23`):
JAVA_HOME=$(/usr/libexec/java_home) python scripts/bench-tpch-pyspark.py \
    --data-dir examples/tpch/data/sf1 --trials 3

◀ BACK TO TECHNICAL SPECS ▲ HOME