Skip to content

perf: single-pass addMeta() stats, Set-based filter() and addRelation… - #130

Merged
bassim-matar merged 1 commit into
mainfrom
perf-linear-boot-and-batches
Jul 12, 2026
Merged

bassim-matar merged 1 commit into
mainfrom
perf-linear-boot-and-batches

Conversation

@bassim-matar

Copy link
Copy Markdown
Member

…s(), indexed-loop createIndex() (0.12.6)

Boot-path and batch-mutation performance, identical behavior:

  • addMetaVariables(): one row-major pass with per-column accumulators instead of two column-major scans per column (~2.3x on 100k rows x 29 cols), preserving the empty-string and NaN type-inference edge cases, now covered by tests
  • filter(): Set lookups instead of array includes, linear instead of quadratic (~1000x when deleting 10k of 50k rows with cascade)
  • createIndex() family: indexed loops instead of Object.entries() + parseInt() (~1.65x on 200k rows)
  • planRelations() / appendRelationFieldValues(): Set-tracked ids, linear batches (~75x for a 10k-id addRelations call)
  • getAllChilds(): push accumulation instead of per-level concat
  • minor: loop instead of spread-reduce in loadTables(), Set in checkConformity()

…s(), indexed-loop createIndex() (0.12.6)

Boot-path and batch-mutation performance, identical behavior:

- addMetaVariables(): one row-major pass with per-column accumulators
  instead of two column-major scans per column (~2.3x on 100k rows x 29
  cols), preserving the empty-string and NaN type-inference edge cases,
  now covered by tests
- filter(): Set lookups instead of array includes, linear instead of
  quadratic (~1000x when deleting 10k of 50k rows with cascade)
- createIndex() family: indexed loops instead of Object.entries() +
  parseInt() (~1.65x on 200k rows)
- planRelations() / appendRelationFieldValues(): Set-tracked ids,
  linear batches (~75x for a 10k-id addRelations call)
- getAllChilds(): push accumulation instead of per-level concat
- minor: loop instead of spread-reduce in loadTables(), Set in
  checkConformity()

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@bassim-matar
bassim-matar merged commit 26d1f92 into main Jul 12, 2026
6 checks passed
@bassim-matar
bassim-matar deleted the perf-linear-boot-and-batches branch July 12, 2026 22:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant