Skip to content

Flatten dynamicSlotActivation.slotVals from []*slotVal to []slotVal - #1569

Merged
TristonianJones merged 1 commit into
cel-expr:masterfrom
TristonianJones:slot-val-update
Oct 20, 2026
Merged

TristonianJones merged 1 commit into
cel-expr:masterfrom
TristonianJones:slot-val-update

Conversation

@TristonianJones

Copy link
Copy Markdown
Collaborator

Store slotVal values contiguously and ref.Val directly instead of via pointer to eliminate heap allocations on each evaluated cel.@block slot.

BenchmarkBlockEval (3 dynamic slots):

  • Time: 314.7 ns/op -> 268.2 ns/op (-14.8%)
  • Bytes: 128 B/op -> 80 B/op (-37.5%)
  • Allocs: 8 allocs/op -> 5 allocs/op (-37.5%)

Store slotVal values contiguously and ref.Val directly instead of via pointer to eliminate heap allocations on each evaluated cel.@block slot.

BenchmarkBlockEval (3 dynamic slots):
- Time: 314.7 ns/op -> 268.2 ns/op (-14.8%)
- Bytes: 128 B/op -> 80 B/op (-37.5%)
- Allocs: 8 allocs/op -> 5 allocs/op (-37.5%)
@TristonianJones
TristonianJones merged commit 2f2c2ff into cel-expr:master Oct 20, 2026
8 checks passed
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.

2 participants