Go here for the accompanying article http://www.stefankrause.net/wp/?p=316. Source code can be found in the github repository.
angular v1.5.8 | angular v2.0.0-rc5 | aurelia v1.0.0 | bobril v4.44.1 | cyclejs v7.0.0 | domvm v1.2.10 | inferno v0.7.26 | inferno v1.0.0-alpha7 | kivi v1.0.0-rc0 | mithril v0.2.5 | mithril v1.0.0-alpha | plastiq v1.33.0 | preact v6.0.2 | ractive-edge | ractive v0.7.3 | react-lite v0.15.17 | react v15.3.1 | react v15.3.1-mobX-v2.5.0 | riot v2.6.1 | tsers v1.0.0 | vidom v0.3.18 | vue v1.0.26 | vue v2.0.0-beta1 | vanillajs | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
create rows Duration for creating 1000 rows after the page loaded. | 270.4012.51 (2.31) | 198.067.91 (1.69) | 174.163.44 (1.49) | 139.713.08 (1.19) | 158.155.26 (1.35) | 170.288.35 (1.45) | 149.642.03 (1.28) | 136.062.37 (1.16) | 128.531.30 (1.10) | 250.0918.30 (2.13) | 152.843.65 (1.30) | 172.477.74 (1.47) | 182.904.48 (1.56) | 350.9517.65 (2.99) | 443.9521.97 (3.79) | 171.3010.08 (1.46) | 187.288.94 (1.60) | 227.446.55 (1.94) | 385.4112.81 (3.29) | 266.0918.28 (2.27) | 145.514.00 (1.24) | 225.9016.30 (1.93) | 171.365.15 (1.46) | 117.268.95 (1.00) |
replace all rows Duration for updating all 1000 rows of the table (with 5 warmup iterations). | 235.2516.15 (4.38) | 178.451.98 (3.32) | 81.522.16 (1.52) | 153.882.46 (2.87) | 71.390.71 (1.33) | 73.854.97 (1.38) | 157.642.68 (2.94) | 53.691.22 (1.00) | 131.396.03 (2.45) | 229.392.18 (4.27) | 275.398.25 (5.13) | 174.253.42 (3.25) | 190.282.00 (3.54) | 65.350.73 (1.22) | 76.551.76 (1.43) | 209.672.45 (3.91) | 190.162.20 (3.54) | 211.712.99 (3.94) | 74.661.59 (1.39) | 116.171.78 (2.16) | 159.105.19 (2.96) | 227.0312.75 (4.23) | 68.760.93 (1.28) | 54.171.88 (1.01) |
partial update Time to update the text of every 10th row (with 5 warmup iterations). | 14.321.06 (1.00) | 11.421.23 (1.00) | 13.872.96 (1.00) | 11.590.57 (1.00) | 28.531.25 (1.78) | 28.683.20 (1.79) | 16.102.56 (1.01) | 12.951.72 (1.00) | 12.221.42 (1.00) | 55.791.36 (3.49) | 18.551.35 (1.16) | 23.033.13 (1.44) | 13.730.98 (1.00) | 15.142.95 (1.00) | 31.231.84 (1.95) | 28.981.05 (1.81) | 16.401.07 (1.03) | 14.771.97 (1.00) | 28.980.83 (1.81) | 35.241.36 (2.20) | 16.663.24 (1.04) | 15.460.71 (1.00) | 22.170.74 (1.39) | 12.092.89 (1.00) |
select row Duration to highlight a row in response to a click on the row. (with 5 warmup iterations). | 4.341.34 (1.00) | 2.390.24 (1.00) | 11.470.39 (1.00) | 4.952.16 (1.00) | 22.343.79 (1.40) | 21.922.51 (1.37) | 5.671.36 (1.00) | 2.750.32 (1.00) | 3.021.10 (1.00) | 40.401.44 (2.53) | 9.500.31 (1.00) | 4.640.68 (1.00) | 5.011.44 (1.00) | 7.260.75 (1.00) | 9.350.32 (1.00) | 20.261.01 (1.27) | 5.960.64 (1.00) | 4.060.46 (1.00) | 19.840.31 (1.24) | 24.280.80 (1.52) | 6.372.21 (1.00) | 7.271.33 (1.00) | 13.301.06 (1.00) | 3.171.26 (1.00) |
swap rows Time to swap 2 rows on a 1K table. (with 5 warmup iterations). | 50.091.08 (3.13) | 50.162.81 (3.13) | 51.152.82 (3.20) | 45.512.53 (2.84) | 23.820.86 (1.49) | 29.801.43 (1.86) | 50.622.44 (3.16) | 13.202.63 (1.00) | 47.492.72 (2.97) | 94.472.17 (5.90) | 55.001.32 (3.44) | 47.752.41 (2.98) | 49.331.24 (3.08) | 12.512.79 (1.00) | 29.371.42 (1.84) | 60.420.26 (3.78) | 48.250.53 (3.02) | 49.422.76 (3.09) | 26.380.97 (1.65) | 30.640.63 (1.91) | 53.223.80 (3.33) | 49.881.67 (3.12) | 19.140.55 (1.20) | 9.681.67 (1.00) |
remove row Duration to remove a row. (with 5 warmup iterations). | 63.570.67 (1.92) | 64.111.88 (1.94) | 91.301.14 (2.76) | 62.562.09 (1.89) | 52.923.85 (1.60) | 50.481.76 (1.53) | 61.981.92 (1.87) | 33.821.06 (1.02) | 61.951.36 (1.87) | 96.531.55 (2.92) | 132.261.59 (4.00) | 68.432.04 (2.07) | 136.630.63 (4.13) | 75.312.04 (2.28) | 192.491.84 (5.82) | 78.451.00 (2.37) | 67.072.54 (2.03) | 72.572.83 (2.19) | 89.110.80 (2.69) | 72.031.26 (2.18) | 67.981.46 (2.06) | 66.261.84 (2.00) | 44.090.77 (1.33) | 33.070.83 (1.00) |
create many rows Duration to create 10,000 rows | 2414.5392.56 (2.00) | 1914.7063.86 (1.59) | 1693.8917.11 (1.40) | 1310.1423.91 (1.08) | 1638.0117.57 (1.36) | 1548.4028.56 (1.28) | 1382.9518.20 (1.14) | 1342.2810.63 (1.11) | 1228.4525.49 (1.02) | 2920.82119.22 (2.42) | 1540.3922.98 (1.28) | 1730.0914.18 (1.43) | 2448.2898.62 (2.03) | 3291.85132.68 (2.73) | 5720.3939.30 (4.74) | 2039.7247.09 (1.69) | 1839.9629.79 (1.52) | 2229.2081.40 (1.85) | 4218.0975.67 (3.49) | 2810.3413.33 (2.33) | 1389.437.91 (1.15) | 2890.37313.40 (2.39) | 1712.878.13 (1.42) | 1208.0011.56 (1.00) |
append rows to large table Duration for adding 1000 rows on a table of 10,000 rows. | 764.8239.92 (3.67) | 594.388.91 (2.86) | 639.9811.15 (3.07) | 222.202.83 (1.07) | 430.252.52 (2.07) | 506.718.79 (2.43) | 253.996.92 (1.22) | 211.871.12 (1.02) | 215.846.50 (1.04) | 1503.5229.27 (7.22) | 355.8111.11 (1.71) | 272.528.00 (1.31) | 384.513.20 (1.85) | 372.358.14 (1.79) | 1331.0024.46 (6.39) | 1903.7159.04 (9.15) | 297.0911.04 (1.43) | 323.6612.47 (1.55) | 4596.15504.29 (22.08) | 626.7213.95 (3.01) | 267.6314.23 (1.29) | 694.6511.42 (3.34) | 420.538.23 (2.02) | 208.154.48 (1.00) |
clear rows Duration to clear the table filled with 10.000 rows. | 628.1638.98 (3.99) | 281.606.69 (1.79) | 218.645.19 (1.39) | 185.201.39 (1.18) | 205.672.22 (1.31) | 276.124.52 (1.76) | 211.573.05 (1.35) | 198.381.72 (1.26) | 162.611.84 (1.03) | 245.221.97 (1.56) | 213.562.22 (1.36) | 205.394.22 (1.31) | 520.7713.82 (3.31) | 573.036.87 (3.64) | 2256.1737.99 (14.35) | 280.895.52 (1.79) | 371.164.12 (2.36) | 391.645.79 (2.49) | 862.288.69 (5.48) | 283.138.43 (1.80) | 174.442.32 (1.11) | 373.958.32 (2.38) | 223.874.61 (1.42) | 157.271.93 (1.00) |
clear rows a 2nd time Time to clear the table filled with 10.000 rows. But warmed up with only one iteration. | 1338.2624.10 (8.50) | 265.822.22 (1.69) | 204.411.64 (1.30) | 182.841.76 (1.16) | 207.961.84 (1.32) | 264.837.20 (1.68) | 205.702.60 (1.31) | 187.842.41 (1.19) | 160.891.79 (1.02) | 242.463.16 (1.54) | 204.961.57 (1.30) | 187.621.99 (1.19) | 488.386.07 (3.10) | 572.778.39 (3.64) | 1236.3268.61 (7.85) | 303.163.11 (1.92) | 354.717.91 (2.25) | 372.568.50 (2.36) | 871.3710.77 (5.53) | 290.061.56 (1.84) | 170.071.71 (1.08) | 368.675.70 (2.34) | 210.564.41 (1.34) | 157.532.22 (1.00) |
slowdown geometric mean | 2.62 | 1.85 | 1.66 | 1.40 | 1.48 | 1.63 | 1.49 | 1.07 | 1.32 | 2.99 | 1.83 | 1.62 | 2.20 | 1.87 | 3.62 | 2.40 | 1.82 | 1.97 | 3.18 | 2.09 | 1.47 | 2.16 | 1.37 | 1.00 |
angular v1.5.8 | angular v2.0.0-rc5 | aurelia v1.0.0 | bobril v4.44.1 | cyclejs v7.0.0 | domvm v1.2.10 | inferno v0.7.26 | inferno v1.0.0-alpha7 | kivi v1.0.0-rc0 | mithril v0.2.5 | mithril v1.0.0-alpha | plastiq v1.33.0 | preact v6.0.2 | ractive-edge | ractive v0.7.3 | react-lite v0.15.17 | react v15.3.1 | react v15.3.1-mobX-v2.5.0 | riot v2.6.1 | tsers v1.0.0 | vidom v0.3.18 | vue v1.0.26 | vue v2.0.0-beta1 | vanillajs | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ready memory Memory usage after page load. | 4.900.29 (1.90) | 15.450.65 (5.98) | 7.410.17 (2.86) | 2.900.01 (1.12) | 3.370.10 (1.30) | 2.790.02 (1.08) | 2.920.03 (1.13) | 2.950.03 (1.14) | 2.770.02 (1.07) | 2.820.02 (1.09) | 2.780.01 (1.08) | 2.820.02 (1.09) | 2.780.02 (1.08) | 4.700.09 (1.82) | 4.160.08 (1.61) | 3.140.02 (1.22) | 4.640.16 (1.80) | 5.530.05 (2.14) | 3.060.02 (1.18) | 6.800.25 (2.63) | 2.910.02 (1.13) | 3.510.04 (1.36) | 3.430.04 (1.33) | 2.580.01 (1.00) |
run memory Memory usage after adding 1000 rows. | 14.350.38 (3.43) | 21.120.81 (5.05) | 13.630.83 (3.26) | 6.580.27 (1.57) | 7.240.30 (1.73) | 7.790.28 (1.86) | 6.950.39 (1.66) | 5.730.26 (1.37) | 5.670.17 (1.36) | 9.600.18 (2.30) | 8.040.39 (1.92) | 9.560.23 (2.29) | 6.550.18 (1.57) | 24.970.31 (5.97) | 23.100.28 (5.52) | 15.140.41 (3.62) | 10.690.25 (2.56) | 13.880.20 (3.32) | 10.470.22 (2.50) | 14.550.47 (3.48) | 6.860.23 (1.64) | 14.210.43 (3.40) | 11.990.63 (2.87) | 4.180.21 (1.00) |