Skip to main content

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 ms5.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 ms14.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 ms18.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 ms1.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 ms12.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 µs4.51 µs)   3.95 µs ██▆▁▆▁▆▁▁▁▁▁▁▆▁▁▁▁▁▆                                         gc(154.47 ms164.32 ms)   1.74 kb (  1.59 kb  2.06 kb)

Inflate element with attribute                       7.19 µs/iter   7.26 µs       █                                                             (6.97 µs7.74 µs)   7.41 µs █▁█▁█████▁▁▁█▁█▁▁▁▁█                                         gc(156.06 ms162.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 µs7.94 µs)   7.51 µs ███▁██▁▁▁█▁▁▁▁█▁▁█▁█                                         gc(163.64 ms211.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 µs2.13 µs)   1.89 µs ███▁▁▁▁█▁▁▁█▁██▁▁▁▁█                                         gc(212.96 ms227.92 ms)   1.60 kb (  1.16 kb  2.47 kb)

Inflate observable iterable (Wrapped)              293.92 µs/iter 223.74 µs ▃█                                                                (195.41 µs1.11 ms) 317.45 µs ██▆▆▆▆▆▁▁▁▁▁▁▁▁▁▁▁▁▆                                         gc(225.55 ms234.61 ms) 21.33 kb (  0.00  b128.00 kb)

Inflate observable iterable (Injected)             328.74 µs/iter 240.04 µs   █▄                                                              (183.05 µs1.07 ms) 499.06 µs ▅▁██▅▁▁▁▁▁▁▁▁▅▁▁▁▁▁▅                                         gc(225.02 ms228.62 ms) 10.67 kb (  0.00  b128.00 kb)

Inflate observable jsx                             684.66 ns/iter 719.84 ns ██ █                                                              (515.09 ns1.18 µs)   1.02 µs ██▁███▁█▁█▁▁▁▁▁▁▁▁▁█                                         gc(227.27 ms238.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 µs3.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 µs758.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 µs489.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 µs3.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 µs8.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 µs698.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 µs270.88 µs) 35.26 µs ▂████▂                                                        (  0.00  b256.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 ms10.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 µs533.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 ms9.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 ms8.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 ms7.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 µs1.11 ms) 735.61 µs ▆██                                                           (  0.00  b640.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 µs81.73 µs) 28.33 µs ██                                                             (  0.00  b128.00 kb) 11.92  b ▁██▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁