docs / benchmarks / nucleo
Benchmarks index
aot
codec
codec / csv
codec / json
collection
- Overview
- ArrayList
- BPlusTree
- Cache
- Collectors
- HashMap
- HashSet
- Heap
- ImmutableList
- ImmutableMap
- ImmutableSet
- LinkedList
- RedBlackTree
- Sort
collection / ltm
concurrent
gfx
hash
http
io
io / file
io / net
io / net / uri
lang
- Overview
- Allocation and ownership
- Calls and dispatch
- Exceptions
- Guid
- Loops
- Math and SIMD
- Optional
- Pair
- Slice
- String
- StringBuilder
- Whole programs: the Benchmarks Game
lang / stream
llm
math
math / fft
math / linalg
math / npio
math / poly
math / random
math / stats
ml
nucleo
primavera
process
reflect
search
search / distance
search / fuzzy
search / ngram
time
toolchain
toolchain / kernel-startup
wire
xpu
xpu / mesh
Table
cajeta.nucleo.frame.Table — the lazy, typed dataframe whose operations are built then run. The groupby and join rows are the h2oai db-benchmark questions at 1e6 rows, with 1e7 as a variant on machines with the memory for it.
Benchmarks
| id | workload | against | check |
|---|---|---|---|
nucleo/table-groupby | db-benchmark groupby q1 to q5; variants q1..q5 × {1e6, 1e7} | pandas, polars, DuckDB | aggregate checksums against DuckDB |
nucleo/table-join | db-benchmark join q1–q5: small (floored at 10 rows), medium and big right tables; variants × {1e6, 1e7}; the left join projects the medium table to (id2, v2) in every engine because nucleo has no nullable utf8 column yet | pandas, polars, DuckDB | row count and sums against DuckDB |
nucleo/table-sort | sort 1e7 rows by two keys | pandas, polars, DuckDB | ordered |
nucleo/table-filter | filter 1e7 rows on a predicate selecting 10% | pandas, polars, DuckDB | row count |
The tables are generated by the db-benchmark generator with a recorded seed, so every competitor reads identical data.
Results
One chart per benchmark, for the machine selected at the top of the page. Languages are the bars, best first; Cajeta’s bar is in color and the competitors’ are gray. A skipped competitor keeps its row with the reason in place of a bar. A benchmark with no row on the selected machine says so and shows nothing else.
Not yet measured on Proton.
Not yet measured on Proton.
Not yet measured on Proton.
Not yet measured on Proton.
Reproduce
cd bench
./bench.sh --bench table-groupby # Cajeta
./bench.sh --bench table-groupby --competitors # every pinned competitor
Every row records the compiler and competitor versions, flags, machine, OS and driver; METHODOLOGY states the rules a number must satisfy before it is published.
See also
- Reference: Table
- Source:
runtime/src/cajeta/nucleo/frame/ - Benchmark source:
bench/src/main/cajeta/bench/nucleo/