Skip to content

[pull] master from cube-js:master#452

Merged
pull[bot] merged 2 commits into
code:masterfrom
cube-js:master
May 6, 2026
Merged

[pull] master from cube-js:master#452
pull[bot] merged 2 commits into
code:masterfrom
cube-js:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 6, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

ovr added 2 commits May 6, 2026 20:55
The compact transform was the only output path still doing dictionary lookups per cell, per row: for every member it re-walked annotation -> members_to_alias_map -> columns_pos before reading the cell. The other two paths (vanilla, columnar) already precompute a plan.

Bench on my Apple M3 Max `TransformedData::transform/compact`, median wall time before → after (ms):

| cols / rows | 1 000          | 10 000         | 50 000          | 100 000          |
| ----------- | -------------- | -------------- | --------------- | ---------------- |
|  8          | 0.505 → 0.135  | 5.11  → 1.35   | 25.6  → 6.89    | 51.4  → 13.9     |
| 16          | 1.07  → 0.275  | 10.5  → 2.72   | 52.5  → 13.9    | 104.5 → 28.3     |
| 32          | 2.07  → 0.528  | 20.6  → 5.36   | 101.4 → 27.7    | 203.0 → 55.2     |
| 64          | 4.14  → 1.02   | 39.9  → 10.3   | 199.1 → 51.7    | 401.4 → 101.7    |

| cols / rows | 1 000   | 10 000  | 50 000  | 100 000 |
| ----------- | ------- | ------- | ------- | ------- |
|  8          | -73.4%  | -73.6%  | -72.9%  | -72.9%  |
| 16          | -74.3%  | -74.0%  | -73.4%  | -72.9%  |
| 32          | -74.5%  | -73.9%  | -73.2%  | -72.3%  |
| 64          | -75.1%  | -74.1%  | -73.3%  | -74.6%  |

Roughly 3.7-4.0x faster across the matrix. Same magnitude as the analogous hoist on the columnar branch.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.