You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -6,9 +6,16 @@ This work is derived from a benchmark that Richard Ayotte published on https://g
6
6
7
7
Thanks for the great work.
8
8
9
+
## Changes
10
+
11
+
- more test cases
12
+
- add versioning for testing mulitple versions of the same platform
13
+
- tweaking on test runs (allows to re-runs all the cases/platforms)
14
+
9
15
## Prerequsites
10
16
11
-
Have node.js installed. If you want to do yourself a favour use nvm for that. The benchmark has been tested with node 5.1+.
17
+
Have *node.js* installed. If you want to do yourself a favour use nvm for that. The benchmark has been tested with node 5.1+.
18
+
You will also need *mvn* for *selenium*.
12
19
13
20
## Building
14
21
@@ -41,6 +48,15 @@ Most actions will try to measure the duration and print it to the console. Depen
41
48
* partial update: Time to update the text of every 10th row. A few iterations to warmup the javascript engine are performed before measuring.
42
49
* select row: Duration to highlight a row in response to a click on the row. A few iterations to warmup the javascript engine are performed before measuring.
43
50
* remove row: Duration to remove a row. A few iterations to warmup the javascript engine are performed before measuring.
51
+
* hide all: Time for hiding all the rows
52
+
* show all: Timne for showing all the rows (after being hidden)
53
+
* create lots of rows: Time for creating a table lots a rows (currently 10.000).
54
+
* add 1000 rows after lots of rows: Time for adding 1000 rows on a table of add 1000 rows after lots of rows.
55
+
* clear rows: Time to clear the table filled with 10.000 rows
56
+
* clear rows a 2nd time: Time to clear the table filled with 10.000 rows. But warmed up with only one iteration.
57
+
* select row on big list: Time to select a row on a 10K table.
58
+
* swap rows: Time to swap 2 rows (1K table).
59
+
* recycle rows: Time to create 1000 rows after clearing a 1K table.
44
60
45
61
## Execute the benchmarks with selenium
46
62
@@ -55,16 +71,268 @@ Open [http://localhost:8080/webdriver-java/chart.html](http://localhost:8080/web
55
71
56
72
A test showing the durations on my machine can be seen [here](https://rawgit.com/krausest/js-framework-benchmark/master/webdriver-java/chart.html)
57
73
58
-
## Execute the benchmarks with protractor and benchpress [deprecated]
59
-
60
-
This uses the work of ShMcK [Framework-Performance-Tests-with-Meteor](https://github.com/ShMcK/Framework-Performance-Tests-with-Meteor) who put Protractor and BenchPress wonderfully to work.
61
-
62
-
`npm start`
63
-
64
-
`cd tests`
65
-
`npm run webdriver-manager`
66
-
open a new shell in the tests directory
67
-
`npm run protractor`
74
+
## Results
68
75
69
-
Open [http://localhost:8080/tests/chart.html](http://localhost:8080/tests/chart.html) for the results
76
+
<table>
77
+
<thead>
78
+
<tr>
79
+
<th></th>
80
+
<th>angular v1.5.3</th>
81
+
<th>angular v2.0.0-beta.2</th>
82
+
<th>angular v2.0.0-beta.15</th>
83
+
<th>aurelia</th>
84
+
<th>ember</th>
85
+
<th>mithril v0.2.3</th>
86
+
<th>plastiq v1.28.0</th>
87
+
<th>preact v2.8.3</th>
88
+
<th>ractive v0.7.3</th>
89
+
<th>react v0.14.8</th>
90
+
<th>react-lite v0.0.18</th>
91
+
<th>react-lite v0.15.9</th>
92
+
<th>vidom v0.1.7</th>
93
+
<th>vue v1.0.21</th>
94
+
</tr>
95
+
</thead>
96
+
<tbody>
97
+
<tr>
98
+
<th>create 1000 rows</th>
99
+
<tdstyle="background-color:#FFEC84">873.34</td>
100
+
<tdstyle="background-color:#63BF7C">577.72</td>
101
+
<tdstyle="background-color:#FFEC84">834.64</td>
102
+
<tdstyle="background-color:#63BF7C">650.42</td>
103
+
<tdstyle="background-color:#F9696C">1922</td>
104
+
<tdstyle="background-color:#FFEC84">942.53</td>
105
+
<tdstyle="background-color:#63BF7C">654.64</td>
106
+
<tdstyle="background-color:#FFEC84">820.54</td>
107
+
<tdstyle="background-color:#F9696C">1586.52</td>
108
+
<tdstyle="background-color:#F9696C">1378.46</td>
109
+
<tdstyle="background-color:#63BF7C">639.20</td>
110
+
<tdstyle="background-color:#63BF7C">488.94</td>
111
+
<tdstyle="background-color:#63BF7C">489.97</td>
112
+
<tdstyle="background-color:#FFEC84">783.28</td>
113
+
</tr>
114
+
<tr>
115
+
<th>update 1000 rows (hot)</th>
116
+
<tdstyle="background-color:#F9696C">908.34</td>
117
+
<tdstyle="background-color:#FFEC84">631.91</td>
118
+
<tdstyle="background-color:#FFEC84">823.20</td>
119
+
<tdstyle="background-color:#63BF7C">387.99</td>
120
+
<tdstyle="background-color:#F9696C">1536.66</td>
121
+
<tdstyle="background-color:#F9696C">929.53</td>
122
+
<tdstyle="background-color:#FFEC84">683.63</td>
123
+
<tdstyle="background-color:#63BF7C">403.20</td>
124
+
<tdstyle="background-color:#63BF7C">253.11</td>
125
+
<tdstyle="background-color:#FFEC84">786.77</td>
126
+
<tdstyle="background-color:#FFEC84">662.68</td>
127
+
<tdstyle="background-color:#FFEC84">598.42</td>
128
+
<tdstyle="background-color:#FFEC84">500.81</td>
129
+
<tdstyle="background-color:#FFEC84">766.75</td>
130
+
</tr>
131
+
<tr>
132
+
<th>partial update</th>
133
+
<tdstyle="background-color:#63BF7C">54.90</td>
134
+
<tdstyle="background-color:#63BF7C">44.40</td>
135
+
<tdstyle="background-color:#63BF7C">39.54</td>
136
+
<tdstyle="background-color:#63BF7C">40.54</td>
137
+
<tdstyle="background-color:#F9696C">136.7</td>
138
+
<tdstyle="background-color:#F9696C">340.51</td>
139
+
<tdstyle="background-color:#F9696C">275.82</td>
140
+
<tdstyle="background-color:#FFEC84">95.24</td>
141
+
<tdstyle="background-color:#F9696C">115.75</td>
142
+
<tdstyle="background-color:#FFEC84">67.30</td>
143
+
<tdstyle="background-color:#63BF7C">60.12</td>
144
+
<tdstyle="background-color:#FFEC84">77.57</td>
145
+
<tdstyle="background-color:#FFEC84">64.36</td>
146
+
<tdstyle="background-color:#63BF7C">52.28</td>
147
+
</tr>
148
+
<tr>
149
+
<th>select row</th>
150
+
<tdstyle="background-color:#63BF7C">22.33</td>
151
+
<tdstyle="background-color:#63BF7C">13.25</td>
152
+
<tdstyle="background-color:#63BF7C">18.71</td>
153
+
<tdstyle="background-color:#F9696C">78.85</td>
154
+
<tdstyle="background-color:#F9696C">135.79</td>
155
+
<tdstyle="background-color:#F9696C">342.23</td>
156
+
<tdstyle="background-color:#F9696C">248.09</td>
157
+
<tdstyle="background-color:#FFEC84">31.54</td>
158
+
<tdstyle="background-color:#FFEC84">30.62</td>
159
+
<tdstyle="background-color:#FFEC84">29.65</td>
160
+
<tdstyle="background-color:#FFEC84">29.77</td>
161
+
<tdstyle="background-color:#FFEC84">48.27</td>
162
+
<tdstyle="background-color:#FFEC84">35.01</td>
163
+
<tdstyle="background-color:#FFEC84">37.53</td>
164
+
</tr>
165
+
<tr>
166
+
<th>remove row</th>
167
+
<tdstyle="background-color:#63BF7C">262.76</td>
168
+
<tdstyle="background-color:#FFEC84">523</td>
169
+
<tdstyle="background-color:#FFEC84">534.21</td>
170
+
<tdstyle="background-color:#FFEC84">336.19</td>
171
+
<tdstyle="background-color:#FFEC84">379.36</td>
172
+
<tdstyle="background-color:#F9696C">595.26</td>
173
+
<tdstyle="background-color:#FFEC84">481.13</td>
174
+
<tdstyle="background-color:#FFEC84">359.71</td>
175
+
<tdstyle="background-color:#F9696C">713.19</td>
176
+
<tdstyle="background-color:#63BF7C">292.19</td>
177
+
<tdstyle="background-color:#F9696C">701.93</td>
178
+
<tdstyle="background-color:#63BF7C">268.97</td>
179
+
<tdstyle="background-color:#63BF7C">287.80</td>
180
+
<tdstyle="background-color:#63BF7C">277.01</td>
181
+
</tr>
182
+
<tr>
183
+
<th>hide all</th>
184
+
<tdstyle="background-color:#FFEC84">165.22</td>
185
+
<tdstyle="background-color:#FFEC84">149.77</td>
186
+
<tdstyle="background-color:#FFEC84">167.63</td>
187
+
<tdstyle="background-color:#FFEC84">204.35</td>
188
+
<tdstyle="background-color:#F9696C">377.38</td>
189
+
<tdstyle="background-color:#63BF7C">100.72</td>
190
+
<tdstyle="background-color:#FFEC84">118.67</td>
191
+
<tdstyle="background-color:#FFEC84">126.69</td>
192
+
<tdstyle="background-color:#F9696C">945.73</td>
193
+
<tdstyle="background-color:#FFEC84">112.16</td>
194
+
<tdstyle="background-color:#63BF7C">87.79</td>
195
+
<tdstyle="background-color:#63BF7C">100.11</td>
196
+
<tdstyle="background-color:#63BF7C">99.73</td>
197
+
<tdstyle="background-color:#FFEC84">126.92</td>
198
+
</tr>
199
+
<tr>
200
+
<th>show all</th>
201
+
<tdstyle="background-color:#FFEC84">709.41</td>
202
+
<tdstyle="background-color:#63BF7C">529.49</td>
203
+
<tdstyle="background-color:#FFEC84">720.87</td>
204
+
<tdstyle="background-color:#63BF7C">576.89</td>
205
+
<tdstyle="background-color:#F9696C">1401.37</td>
206
+
<tdstyle="background-color:#F9696C">835.07</td>
207
+
<tdstyle="background-color:#FFEC84">606.25</td>
208
+
<tdstyle="background-color:#FFEC84">628.67</td>
209
+
<tdstyle="background-color:#F9696C">1050.97</td>
210
+
<tdstyle="background-color:#FFEC84">696.13</td>
211
+
<tdstyle="background-color:#63BF7C">535.08</td>
212
+
<tdstyle="background-color:#63BF7C">414.99</td>
213
+
<tdstyle="background-color:#63BF7C">431.02</td>
214
+
<tdstyle="background-color:#FFEC84">687.59</td>
215
+
</tr>
216
+
<tr>
217
+
<th>create lots of rows</th>
218
+
<tdstyle="background-color:#FFEC84">7112.42</td>
219
+
<tdstyle="background-color:#63BF7C">5440.13</td>
220
+
<tdstyle="background-color:#FFEC84">7855.89</td>
221
+
<tdstyle="background-color:#63BF7C">988.08</td>
222
+
<tdstyle="background-color:#F9696C">13556.33</td>
223
+
<tdstyle="background-color:#F9696C">9363</td>
224
+
<tdstyle="background-color:#63BF7C">5990.74</td>
225
+
<tdstyle="background-color:#FFEC84">7603.70</td>
226
+
<tdstyle="background-color:#F9696C">27668.03</td>
227
+
<tdstyle="background-color:#FFEC84">8100.18</td>
228
+
<tdstyle="background-color:#63BF7C">5699.20</td>
229
+
<tdstyle="background-color:#63BF7C">2763.71</td>
230
+
<tdstyle="background-color:#63BF7C">4157.74</td>
231
+
<tdstyle="background-color:#FFEC84">7363.43</td>
232
+
</tr>
233
+
<tr>
234
+
<th>add 1000 rows after lots of rows</th>
235
+
<tdstyle="background-color:#FFEC84">2581.28</td>
236
+
<tdstyle="background-color:#FFEC84">2010.98</td>
237
+
<tdstyle="background-color:#FFEC84">2348.8</td>
238
+
<tdstyle="background-color:#FFEC84">2245.09</td>
239
+
<tdstyle="background-color:#F9696C">3759.77</td>
240
+
<tdstyle="background-color:#F9696C">6266.81</td>
241
+
<tdstyle="background-color:#F9696C">3161.71</td>
242
+
<tdstyle="background-color:#63BF7C">1220.29</td>
243
+
<tdstyle="background-color:#F9696C">9454.74</td>
244
+
<tdstyle="background-color:#63BF7C">1172.52</td>
245
+
<tdstyle="background-color:#63BF7C">984.77</td>
246
+
<tdstyle="background-color:#F9696C">4271.65</td>
247
+
<tdstyle="background-color:#63BF7C">882.38</td>
248
+
<tdstyle="background-color:#FFEC84">2282.07</td>
249
+
</tr>
250
+
<tr>
251
+
<th>clear rows</th>
252
+
<tdstyle="background-color:#F9696C">3436.78</td>
253
+
<tdstyle="background-color:#FFEC84">1286</td>
254
+
<tdstyle="background-color:#FFEC84">1503.39</td>
255
+
<tdstyle="background-color:#FFEC84">1863.18</td>
256
+
<tdstyle="background-color:#F9696C">2897.75</td>
257
+
<tdstyle="background-color:#63BF7C">1003.32</td>
258
+
<tdstyle="background-color:#63BF7C">801.33</td>
259
+
<tdstyle="background-color:#63BF7C">885.20</td>
260
+
<tdstyle="background-color:#F9696C">9520.64</td>
261
+
<tdstyle="background-color:#FFEC84">1085.85</td>
262
+
<tdstyle="background-color:#63BF7C">778.67</td>
263
+
<tdstyle="background-color:#63BF7C">959.29</td>
264
+
<tdstyle="background-color:#FFEC84">1203.80</td>
265
+
<tdstyle="background-color:#FFEC84">1240.18</td>
266
+
</tr>
267
+
<tr>
268
+
<th>clear rows a 2nd time</th>
269
+
<tdstyle="background-color:#F9696C">6535.44</td>
270
+
<tdstyle="background-color:#FFEC84">1746.36</td>
271
+
<tdstyle="background-color:#FFEC84">1342.49</td>
272
+
<tdstyle="background-color:#FFEC84">1800.42</td>
273
+
<tdstyle="background-color:#F9696C">4243.42</td>
274
+
<tdstyle="background-color:#63BF7C">1001.68</td>
275
+
<tdstyle="background-color:#63BF7C">771.45</td>
276
+
<tdstyle="background-color:#63BF7C">905.80</td>
277
+
<tdstyle="background-color:#F9696C">6494.80</td>
278
+
<tdstyle="background-color:#FFEC84">1037.78</td>
279
+
<tdstyle="background-color:#63BF7C">890.35</td>
280
+
<tdstyle="background-color:#63BF7C">934.57</td>
281
+
<tdstyle="background-color:#FFEC84">1989.56</td>
282
+
<tdstyle="background-color:#FFEC84">1198.84</td>
283
+
</tr>
284
+
<tr>
285
+
<th>select row on big list</th>
286
+
<tdstyle="background-color:#63BF7C">127</td>
287
+
<tdstyle="background-color:#63BF7C">89.45</td>
288
+
<tdstyle="background-color:#FFEC84">155.60</td>
289
+
<tdstyle="background-color:#FFEC84">403.55</td>
290
+
<tdstyle="background-color:#F9696C">1321.67</td>
291
+
<tdstyle="background-color:#F9696C">3095.11</td>
292
+
<tdstyle="background-color:#F9696C">2099.31</td>
293
+
<tdstyle="background-color:#63BF7C">132.94</td>
294
+
<tdstyle="background-color:#FFEC84">246.63</td>
295
+
<tdstyle="background-color:#63BF7C">130.01</td>
296
+
<tdstyle="background-color:#FFEC84">163.83</td>
297
+
<tdstyle="background-color:#F9696C">3031.96</td>
298
+
<tdstyle="background-color:#FFEC84">208.92</td>
299
+
<tdstyle="background-color:#FFEC84">314.81</td>
300
+
</tr>
301
+
<tr>
302
+
<th>swap rows</th>
303
+
<tdstyle="background-color:#FFEC84">208.48</td>
304
+
<tdstyle="background-color:#FFEC84">173.75</td>
305
+
<tdstyle="background-color:#FFEC84">191.25</td>
306
+
<tdstyle="background-color:#63BF7C">68.10</td>
307
+
<tdstyle="background-color:#F9696C">262.18</td>
308
+
<tdstyle="background-color:#F9696C">577.63</td>
309
+
<tdstyle="background-color:#F9696C">405.83</td>
310
+
<tdstyle="background-color:#63BF7C">60.38</td>
311
+
<tdstyle="background-color:#FFEC84">113.91</td>
312
+
<tdstyle="background-color:#FFEC84">211.90</td>
313
+
<tdstyle="background-color:#FFEC84">191.58</td>
314
+
<tdstyle="background-color:#FFEC84">185.90</td>
315
+
<tdstyle="background-color:#FFEC84">233.98</td>
316
+
<tdstyle="background-color:#FFEC84">202.96</td>
317
+
</tr>
318
+
<tr>
319
+
<th>recycle rows</th>
320
+
<tdstyle="background-color:#FFEC84">728.37</td>
321
+
<tdstyle="background-color:#63BF7C">532.98</td>
322
+
<tdstyle="background-color:#FFEC84">729.63</td>
323
+
<tdstyle="background-color:#63BF7C">581.28</td>
324
+
<tdstyle="background-color:#F9696C">1343.42</td>
325
+
<tdstyle="background-color:#FFEC84">846.28</td>
326
+
<tdstyle="background-color:#FFEC84">624.49</td>
327
+
<tdstyle="background-color:#FFEC84">656.65</td>
328
+
<tdstyle="background-color:#F9696C">1037.64</td>
329
+
<tdstyle="background-color:#FFEC84">713.14</td>
330
+
<tdstyle="background-color:#63BF7C">558.03</td>
331
+
<tdstyle="background-color:#63BF7C">431.85</td>
332
+
<tdstyle="background-color:#63BF7C">449.70</td>
333
+
<tdstyle="background-color:#FFEC84">696.36</td>
334
+
</tr>
335
+
</tbody>
336
+
</table>
70
337
338
+
Those results have been generated with Chromium 48.0.2564.116 on a Mac mini 2010.
0 commit comments