Performance
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.
Editor support
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.