benchmarks
clk: ~3.06 GHzcpu: AMD EPYC 7763 64-Core Processorruntime: chromium (x64-linux)benchmark avg (min … max) p75 / p99 (min … top 1%)
• Inflation ----------------------------------------------------------------- ------------------------------- Inflate 1,000 elements with attribute 2.23 ms/iter 2.17 ms █ (1.71 ms … 5.57 ms) 4.61 ms ██ ( 0.00 b … 1.75 mb) 52.38 kb ▅██▆▃▁▁▁▁▃▄▃▂▁▂▂▁▁▁▁▁
Inflate nested JSX trees 1,000x 6.91 ms/iter 7.56 ms █ (5.69 ms … 14.53 ms) 13.12 ms ██ ▆ ( 0.00 b … 3.88 mb) 112.70 kb ██▃▂▇█▅▂▁▁▁▁▁▁▁▁▁▂▂▂▂
Handle 1,000 reactive elements 9.09 ms/iter 8.65 ms ▄ █ (6.42 ms … 18.90 ms) 17.70 ms █▆█▂ (768.00 kb … 9.88 mb) 4.59 mb ▆████▂▂▅▁▁▁▁▂▆▂▂▅▁▂▁▂
Handle a reactive update for 1,000 elements 1.26 ms/iter 1.27 ms █ (1.07 ms … 1.83 ms) 1.55 ms █ ( 0.00 b … 1.50 mb) 506.09 kb ▁▁▂▁▁▁▄█▅▃▃▂▂▂▂▁▁▁▁▁▁
Toggle 500 mounted spans 7.67 ms/iter 8.06 ms ▂ █ (5.45 ms … 12.76 ms) 12.70 ms █▅ ▂█ █▄ ( 0.00 b … 5.63 mb) 1.78 mb ██▇██▇██▃▄▃▃▄▇▃▆▁▃▄▃▃
• Inflation ----------------------------------------------------------------- ------------------------------- Inflate element without attribute 3.38 µs/iter 3.35 µs █▃ (3.05 µs … 4.51 µs) 3.95 µs ██▆▁▆▁▆▆▁▁▁▁▁▁▆▁▁▁▁▁▆ gc(154.47 ms … 164.32 ms) 1.74 kb ( 1.59 kb… 2.06 kb)
Inflate element with attribute 7.19 µs/iter 7.26 µs █ (6.97 µs … 7.74 µs) 7.41 µs █▁█▁█████▁▁▁▁█▁█▁▁▁▁█ gc(156.06 ms … 162.16 ms) 3.51 kb ( 3.47 kb… 3.72 kb)
Inflate element with observable attribute 6.48 µs/iter 7.27 µs █ █ (5.52 µs … 7.94 µs) 7.51 µs ███▁██▁▁▁█▁▁▁▁▁█▁▁█▁█ gc(163.64 ms … 211.64 ms) 4.38 kb ( 3.53 kb… 5.19 kb)
┌ ┐ Inflate element without attribute ┤ 3.38 µs Inflate element with attribute ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 7.19 µs Inflate element with observable attribute ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 6.48 µs └ ┘
• Inflation ----------------------------------------------------------------- ------------------------------- Inflate observable text 1.53 µs/iter 1.69 µs ███ (1.27 µs … 2.13 µs) 1.89 µs ███▁▁▁▁█▁▁▁▁█▁██▁▁▁▁█ gc(212.96 ms … 227.92 ms) 1.60 kb ( 1.16 kb… 2.47 kb)
Inflate observable iterable (Wrapped) 293.92 µs/iter 223.74 µs ▃█ (195.41 µs … 1.11 ms) 317.45 µs ██▆▆▆▆▆▁▁▁▁▁▁▁▁▁▁▁▁▁▆ gc(225.55 ms … 234.61 ms) 21.33 kb ( 0.00 b…128.00 kb)
Inflate observable iterable (Injected) 328.74 µs/iter 240.04 µs █▄ (183.05 µs … 1.07 ms) 499.06 µs ▅▁██▅▁▁▁▁▁▁▁▁▁▅▁▁▁▁▁▅ gc(225.02 ms … 228.62 ms) 10.67 kb ( 0.00 b…128.00 kb)
Inflate observable jsx 684.66 ns/iter 719.84 ns ██ █ (515.09 ns … 1.18 µs) 1.02 µs ██▁███▁▁█▁█▁▁▁▁▁▁▁▁▁█ gc(227.27 ms … 238.24 ms) 621.33 b (480.00 b… 1.25 kb)
┌ ┐ Inflate observable text ┤ 1.53 µs Inflate observable iterable (Wrapped) ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 293.92 µs Inflate observable iterable (Injected) ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 328.74 µs Inflate observable jsx ┤ 684.66 ns └ ┘
• Inflation ----------------------------------------------------------------- ------------------------------- Inflate element 2.19 µs/iter 2.32 µs █ (1.07 µs … 3.47 µs) 2.90 µs █ ( 0.00 b … 7.16 kb) 2.70 kb ▃▄▂▁▁▁▁▁▁▁▁▁▁█▄▂▄▂▁▂▂
Inflate component 13.19 µs/iter 14.76 µs █▄ (5.52 µs … 758.80 µs) 39.85 µs ▂███▄ ( 0.00 b … 2.00 mb) 6.21 kb ▂██████▆▅▃▂▂▂▂▁▁▁▁▁▁▁
Inflate component (async) 12.72 µs/iter 14.33 µs ▄█▅ (4.97 µs … 489.81 µs) 36.17 µs ▄████▃ ( 0.00 b … 1.50 mb) 6.82 kb ▄███████▆▅▄▃▃▂▂▂▂▁▁▁▁
Inflate component (arrow function) 2.82 µs/iter 2.96 µs █ (2.07 µs … 3.92 µs) 3.20 µs ▃ █ ▅ ( 0.00 b … 11.22 kb) 2.84 kb ▄▁▁▁▁▁▁▁▁▆█████▄██▆▁▃
Inflate component (arrow function, async) 6.76 µs/iter 8.13 µs █ ▃ (5.34 µs … 8.46 µs) 8.45 µs █▂ ▂ █ ▂ ( 0.00 b … 12.00 kb) 3.90 kb ██▁▆▆▁█▁▆▆▁▁▁▁▆▁▆▁█▁█
Inflate component (generator function) 23.66 µs/iter 27.12 µs ██▅▂ (9.35 µs … 698.54 µs) 51.24 µs █████▇▄ ( 0.00 b … 2.75 mb) 8.78 kb ▁▃█████████▇▅▄▃▃▂▂▂▁▁
Inflate component (generator function, async) 13.72 µs/iter 16.31 µs ▄█▄ (5.25 µs … 270.88 µs) 35.26 µs ▂████▄▂ ( 0.00 b … 256.00 kb) 5.50 kb ▃████████▇▆▅▄▃▃▂▂▂▁▁▁
┌ ┐ Inflate element ┤ 2.19 µs Inflate component ┤■■■■■■■■■■■■■■■■■ 13.19 µs Inflate component (async) ┤■■■■■■■■■■■■■■■■■ 12.72 µs Inflate component (arrow function) ┤■ 2.82 µs Inflate component (arrow function, async) ┤■■■■■■■ 6.76 µs Inflate component (generator function) ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 23.66 µs Inflate component (generator function, async) ┤■■■■■■■■■■■■■■■■■■ 13.72 µs └ ┘
• Inflation ----------------------------------------------------------------- ------------------------------- Inflate component 1000x 9.10 ms/iter 9.35 ms █▃ (7.58 ms … 10.00 ms) 9.78 ms ▅██ ( 0.00 b … 14.00 mb) 7.47 mb ▂▆▁▁▅▁▁▃▁▂▁▁▂▆████▅▃▂
Inflate 1000x nested component 1x 86.23 µs/iter 88.14 µs █ (44.89 µs … 533.89 µs) 154.55 µs ▅██ ( 0.00 b … 13.41 mb) 101.78 kb ▁▁▃▃▃███▇▄▃▃▃▄▃▂▂▂▂▁▁
┌ ┐ Inflate component 1000x ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 9.10 ms Inflate 1000x nested component 1x ┤ 86.23 µs └ ┘
• Lists ----------------------------------------------------------------- ------------------------------- Render list of 1,000 elements (iterable) 5.97 ms/iter 5.99 ms █▂ (4.91 ms … 9.33 ms) 8.46 ms ▇██ ( 0.00 b … 4.50 mb) 3.23 mb ▂▂▁▅████▃▂▁▂▁▂▂▁▁▂▁▁▂
Render list of 1,000 elements (array) 5.49 ms/iter 5.64 ms █ (4.23 ms … 8.22 ms) 8.14 ms ██ ( 0.00 b … 7.50 mb) 3.03 mb ▇▃▃▄▂▃██▇▃▂▂▁▂▁▁▁▂▂▁▃
Render list of 1,000 elements (arrayState) 5.21 ms/iter 5.29 ms ▇█ (4.61 ms … 7.25 ms) 6.48 ms ▇██▄ (496.00 kb … 6.36 mb) 3.45 mb ▄▅▅▅████▇▄▃▄▂▃▄▂▁▂▂▁▃
Update single item in 1,000 list (arrayState) 446.89 µs/iter 472.52 µs █ (374.66 µs … 1.11 ms) 735.61 µs ▆██▂ ( 0.00 b … 640.00 kb) 142.44 kb ▂██████▆▄▃▂▂▁▂▁▁▁▁▁▁▁
┌ ┐ Render list of 1,000 elements (iterable) ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 5.97 ms Render list of 1,000 elements (array) ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 5.49 ms Render list of 1,000 elements (arrayState) ┤■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 5.21 ms Update single item in 1,000 list (arrayState) ┤ 446.89 µs └ ┘
• TreeContext ----------------------------------------------------------------- ------------------------------- Propagation speed through depth of 10,000 contexts 18.89 µs/iter 18.86 µs █ (17.41 µs … 81.73 µs) 28.33 µs ██ ( 0.00 b … 128.00 kb) 11.92 b ▁███▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁