Skip to content

View Benchmarks

These benchmarks measure the propagation overhead of each view primitive compared to pure signals. The view layer is designed to add minimal overhead on top of the reactive core.

Last run:February 2, 2026 at 03:19 AM

Commit:c1a06ef

System:Apple M1 Max (10 cores, 64GB RAM)

Node:v25.2.1 on darwin/arm64

El

pure signals - $depth deep

pure signals - 10 deep
11.94 ms
pure signals - 50 deep
60.67 ms

el binding - $depth deep

el binding - 10 deep
17.79 ms
el binding - 50 deep
90.38 ms

$bindings bindings on 50-deep chain

1 bindings on 50-deep chain
78.28 ms
5 bindings on 50-deep chain
105.49 ms
25 bindings on 50-deep chain
162.52 ms

Map

pure signals - $depth deep

pure signals - 10 deep
11.95 ms
pure signals - 50 deep
60.16 ms

through map - $depth items

through map - 10 items
41.59 ms
through map - 50 items
228.53 ms

update 1 item in $size list

update 1 item in 10 list
2.31 ms
update 1 item in 100 list
2.91 ms
update 1 item in 1000 list
2.87 ms

append 10 to $size list

append 10 to 100 list
16.81 ms
append 10 to 1000 list
140.66 ms

remove 10 from $size list

remove 10 from 100 list
17.48 ms
remove 10 from 1000 list
139.79 ms

swap first/last in $size list

swap first/last in 100 list
15.18 ms
swap first/last in 1000 list
247.26 ms

Match

pure signals - $depth deep

pure signals - 10 deep
14.99 ms
pure signals - 50 deep
69.37 ms

through match - $depth deep

through match - 10 deep
17.37 ms
through match - 50 deep
91.63 ms

switch $size element branch

switch 1 element branch
1.40 ms
switch 10 element branch
5.13 ms
switch 50 element branch
21.37 ms

value change (no switch)

value change (no switch)
2.30 ms

branch switch

branch switch
693.17 µs