Results for js web frameworks benchmark – round 3

Go here for the accompanying article http://www.stefankrause.net/wp/?p=301. Source code can be found in the github repository.

Duration in milliseconds (Slowdown = Duration / Fastest)

angular v1.5.7angular v2.0.0-rc4aurelia v1.0.0-rc1.0.0cyclejs v6.0.3cyclejs v7.0.0ember v2.6.1inferno v0.7.13mithril v0.2.5plastiq v1.30.1preact v4.8.0ractive v0.7.3react-lite v0.15.14react v0.14.8react v15.2.0react v15.2.0-mobX-v2.3.3tsers v1.0.0vidom v0.3.6vue v1.0.26vanillajs
create rows
Duration for creating 1000 rows after the page loaded.
249.566.29
(1.98)
192.384.51
(1.52)
220.0825.31
(1.74)
808.747.48
(6.41)
181.135.57
(1.44)
747.0113.05
(5.92)
153.64.05
(1.22)
322.6216.89
(2.56)
180.236.53
(1.43)
207.688.8
(1.65)
548.8415.25
(4.35)
169.046.23
(1.34)
251.613.82
(1.99)
184.482.26
(1.46)
201.174.13
(1.59)
289.396.79
(2.29)
144.653.52
(1.15)
259.779.46
(2.06)
126.181.84
(1.00)
replace all rows
Duration for updating all 1000 rows of the table (with 5 warmup iterations).
262.9114.03
(3.75)
210.645.51
(3.00)
131.699.4
(1.88)
725.634.98
(10.3)
106.592.09
(1.52)
583.9915.99
(8.33)
160.182.21
(2.28)
278.425.33
(3.97)
195.874.6
(2.79)
194.532.26
(2.77)
96.82.55
(1.38)
230.354.36
(3.28)
248.283.72
(3.54)
197.824
(2.82)
211.23.42
(3.01)
135.032.22
(1.93)
157.082.04
(2.24)
261.848.52
(3.73)
70.131.74
(1.00)
partial update
Time to update the text of every 10th row (with 5 warmup iterations).
16.410.17
(1.03)
11.870.44
(1.00)
11.710.79
(1.00)
664.416.63
(41.5)
48.021.64
(3.00)
37.670.83
(2.35)
13.70.41
(1.00)
97.052.34
(6.07)
20.351.6
(1.27)
21.770.63
(1.36)
35.91.15
(2.24)
29.10.74
(1.82)
16.20.26
(1.01)
18.780.66
(1.17)
20.750.81
(1.30)
42.652.38
(2.67)
18.512.6
(1.16)
15.760.56
(1.00)
11.510.39
(1.00)
select row
Duration to highlight a row in response to a click on the row. (with 5 warmup iterations).
7.851.4
(1.00)
5.080.29
(1.00)
53.8919.28
(3.37)
657.9713.51
(41.1)
38.853.4
(2.43)
42.240.93
(2.64)
6.310.88
(1.00)
75.711.69
(4.73)
8.382.76
(1.00)
5.60.47
(1.00)
10.890.7
(1.00)
17.810.23
(1.11)
6.430.84
(1.00)
7.070.63
(1.00)
6.510.32
(1.00)
30.130.92
(1.88)
12.521.59
(1.00)
7.330.48
(1.00)
5.981.35
(1.00)
swap rows
Time to swap 2 rows on a 1K table. (with 5 warmup iterations).
50.531.5
(3.16)
51.761.5
(3.23)
53.835.39
(3.36)
655.236.94
(41.0)
43.862.78
(2.74)
74.691.83
(4.67)
48.090.96
(3.01)
138.33.62
(8.64)
51.491.73
(3.22)
60.014.55
(3.75)
32.021.1
(2.00)
65.851.37
(4.12)
53.371.8
(3.34)
53.051.02
(3.32)
55.711.47
(3.48)
35.511.62
(2.22)
58.971.9
(3.69)
52.961.02
(3.31)
7.830.18
(1.00)
remove row
Duration to remove a row. (with 5 warmup iterations).
70.721.9
(1.14)
133.522.53
(2.16)
98.351.91
(1.59)
684.624.86
(11.1)
72.843.01
(1.18)
92.951.43
(1.50)
61.910.42
(1.00)
138.562.07
(2.24)
69.572.71
(1.12)
65.92.06
(1.06)
199.343.4
(3.22)
79.761.5
(1.29)
68.672.28
(1.11)
64.892.16
(1.05)
66.282.37
(1.07)
79.132.8
(1.28)
73.333.95
(1.18)
70.610.85
(1.14)
63.331.03
(1.02)
create many rows
Duration to create 10,000 rows
2573.01105.2
(2.03)
18429.49
(1.46)
1857.5321.46
(1.47)
59304.35441.56
(46.9)
1806.9918.04
(1.43)
5905.1191.34
(4.67)
1488.9621.3
(1.18)
3258.8819.34
(2.58)
1870.9851.36
(1.48)
2656.5564.6
(2.10)
5994.12131.22
(4.74)
2192.945.81
(1.73)
3002.6570.77
(2.37)
1858.0824.52
(1.47)
1941.1446.4
(1.53)
2937.5142.67
(2.32)
1415.7117.43
(1.12)
2705.86148.47
(2.14)
1265.2216.65
(1.00)
append rows to large table
Duration for adding 1000 rows on a table of 10,000 rows.
826.8817.85
(3.67)
679.6714.07
(3.02)
700.6322.64
(3.11)
69569.98773.29
(309)
729.0118.98
(3.24)
1211.512.02
(5.38)
285.4113.48
(1.27)
1881.1728.77
(8.35)
294.758
(1.31)
459.7114.26
(2.04)
1431.2616.67
(6.35)
1755.836.2
(7.79)
494.8614.69
(2.20)
326.4118.33
(1.45)
344.2510.34
(1.53)
7018.71
(3.11)
319.66.21
(1.42)
743.4414.95
(3.30)
225.31.89
(1.00)
clear rows
Duration to clear the table filled with 10.000 rows.
840.636.94
(3.78)
436.5427.78
(1.96)
604.5623.45
(2.72)
253.332.1
(1.14)
240.713.04
(1.08)
1182.9712.84
(5.32)
227.162.26
(1.02)
294.112.02
(1.32)
247.116.26
(1.11)
358.092.32
(1.61)
2295.343.25
(10.3)
394.4916.55
(1.78)
385.485.58
(1.74)
2000.8518.56
(9.01)
2027.8818.11
(9.13)
310.894.88
(1.40)
223.4713.17
(1.01)
434.5812.47
(1.96)
222.164.81
(1.00)
clear rows a 2nd time
Time to clear the table filled with 10.000 rows. But warmed up with only one iteration.
1644.5922.86
(8.51)
411.5931.34
(2.13)
615.635.58
(3.18)
274.295.69
(1.42)
236.95.19
(1.23)
1617.6914.12
(8.37)
227.973.15
(1.18)
296.143.31
(1.53)
238.256.11
(1.23)
345.93.02
(1.79)
1500161.27
(7.76)
342.118.49
(1.77)
366.036.83
(1.89)
4117.9123.41
(21.3)
4127.6910.26
(21.4)
3174.46
(1.64)
773.17.09
(4.00)
435.337.33
(2.25)
193.32.13
(1.00)
slowdown geometric mean 2.41 1.89 2.17 16.1 1.78 4.35 1.31 3.46 1.47 1.77 3.40 2.14 1.84 2.42 2.53 2.00 1.56 1.97 1.00

Memory allocation in MBs

angular v1.5.7angular v2.0.0-rc4aurelia v1.0.0-rc1.0.0cyclejs v6.0.3cyclejs v7.0.0ember v2.6.1inferno v0.7.13mithril v0.2.5plastiq v1.30.1preact v4.8.0ractive v0.7.3react-lite v0.15.14react v0.14.8react v15.2.0react v15.2.0-mobX-v2.3.3tsers v1.0.0vidom v0.3.6vue v1.0.26vanillajs
ready memory
Memory usage after page load.
4.860.52
(2.00)
17.052.34
(7.02)
21.590.5
(8.88)
4.720.28
(1.94)
3.320.19
(1.37)
10.10.53
(4.16)
30.03
(1.23)
2.680.02
(1.10)
2.680.02
(1.10)
2.640.02
(1.09)
4.090.18
(1.68)
30.02
(1.23)
40.07
(1.65)
4.250.13
(1.75)
5.170.06
(2.13)
6.670.23
(2.74)
2.890.03
(1.19)
3.360.06
(1.38)
2.430.01
(1.00)
run memory
Memory usage after adding 1000 rows.
13.370.46
(4.27)
27.533.99
(8.80)
27.950.82
(8.93)
9.470.2
(3.03)
6.650.22
(2.12)
37.170.98
(11.9)
6.350.16
(2.03)
8.890.17
(2.84)
8.770.33
(2.80)
6.160.21
(1.97)
22.240.41
(7.11)
13.780.21
(4.40)
11.020.43
(3.52)
9.710.18
(3.10)
11.220.19
(3.58)
13.80.42
(4.41)
6.130.17
(1.96)
12.850.16
(4.11)
3.130.19
(1.00)