Single-core speed that stays visible at scale

Latest generated benchmark page, 2026-06-02, on r7i.2xlarge Sapphire Rapids hardware. Ibex is single-threaded; Polars, DuckDB, DataFusion, and ClickHouse use all 8 vCPUs where their engines do so by default. The full interactive table is on the benchmarks page.

Aggregation — 16 M rows

Query Ibex Polars Polars ST DuckDB DataFusion
mean by symbol 7.2 ms 63.8 ms 193 ms 59.8 ms 35.2 ms
count by sym×day 18.9 ms 290 ms 896 ms 66.1 ms 49.1 ms
mean by sym×day 21.3 ms 338 ms 1253 ms 69.0 ms 53.1 ms
OHLC by sym×day 37.4 ms 368 ms 1328 ms 97.7 ms 165 ms
sum by user (100K str) 39.9 ms 285 ms 1163 ms 188 ms 119 ms

Ibex wins the common low-cardinality and time-bucketed aggregation cases on one core. DataFusion and ClickHouse still win selected wide or highly parallel cells in the full suite.

TimeFrame — 16 M rows, 1 s spacing

Operation Ibex Polars Polars ST DuckDB ClickHouse
rolling count 1m 35.1 ms 74.7 ms 197 ms 539 ms 572 ms
rolling sum 1m 49.7 ms 152 ms 283 ms 1.37 s 882 ms
rolling mean 5m 49.8 ms 163 ms 292 ms 1.61 s 1.31 s
rolling median 1m 1.36 s 3.29 s 3.41 s 6.19 s 11.05 s
rolling std 1m 239 ms 329 ms 455 ms 1.18 s 1.39 s
resample 1m OHLC 101 ms 104 ms 126 ms 280 ms 79.2 ms

Rolling operations use a two-pointer O(n) scan with a single result-column allocation. ClickHouse currently wins the resample row; Ibex remains close to Polars on that query and leads the rolling rows shown here.

Syntax highlighting for VS Code

A TextMate grammar covering keywords, types, built-in functions, duration literals, backtick-quoted column names, and comments.

Install — WSL

cp -r editors/vscode \
  /mnt/c/Users/<username>/.vscode/extensions/ibex-language-0.1.0

Install — macOS / native Linux

cp -r editors/vscode \
  ~/.vscode/extensions/ibex-language-0.1.0

Fully restart VS Code after copying. .ibex files are highlighted automatically.