7e3f84ce8ec76388dc870b1d1f79817e9691765d
[WebKit-https.git] / PerformanceTests / ChangeLog
1 2013-11-18  Sergio Villar Senin  <svillar@igalia.com>
2
3         [CSS Grid Layout] Improve content-sized track layout
4         https://bugs.webkit.org/show_bug.cgi?id=124408
5
6         Reviewed by Dean Jackson.
7
8         From Blink r156122 by <jchaffraix@chromium.org>
9
10         New test to check the performance of layouting grids with content sized tracks.
11
12         * Layout/auto-grid-lots-of-data.html: Added.
13
14 2013-11-08  Sergio Villar Senin  <svillar@igalia.com>
15
16         [CSS Grid Layout] Run the content-sized tracks sizing algorithm only when required
17         https://bugs.webkit.org/show_bug.cgi?id=124039
18
19         Reviewed by Dean Jackson.
20
21         From Blink r156028 and r156168 by <jchaffraix@chromium.org>.
22
23         New performance tests for layouts in grids with fixed size tracks.
24
25         * Layout/fixed-grid-lots-of-data.html: Added.
26
27 2013-11-19  Manuel Rego Casasnovas  <rego@igalia.com>
28
29         [CSS Regions] Add performance test for selection
30         https://bugs.webkit.org/show_bug.cgi?id=119230
31
32         Reviewed by Ryosuke Niwa.
33
34         Add new performance test for selection in CSS Regions. It checks a
35         selection from the first region to the last one, passing through all the
36         regions.
37
38         Test is skipped for now while implementation of selection in CSS Regions
39         is still evolving.
40
41         * Layout/RegionsSelection.html: Added.
42         * Layout/resources/regions.js:
43         (.):
44         * Skipped:
45
46 2013-11-18  Ryosuke Niwa  <rniwa@webkit.org>
47
48         Simplify and reformat the output of performance tests inside test runners
49         https://bugs.webkit.org/show_bug.cgi?id=124496
50
51         Reviewed by Antti Koivisto.
52
53         As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output performance tests generate.
54         Also modernize the output to better support "metric" concept we introduced a while ago.
55
56         New output on Dromaeo/dom-attr looks like this:
57         -----------------------------------------------
58         Running 5 times
59         getAttribute -> [1105, 1108, 1134, 1137, 1154]
60         element.property -> [1634, 1655, 1685, 1696, 1723]
61         setAttribute -> [646.3536463536464, 651, 651, 656.3436563436563, 658]
62         element.property = value -> [934, 949, 963, 964, 974]
63         element.expando = value -> [419, 419.5804195804196, 421.57842157842157, 425.57442557442556, 429]
64         element.expando -> [501, 517, 519.4805194805194, 521.4785214785214, 525]
65
66             1: 117.40644785571585 runs/s
67             2: 118.84720469666297 runs/s
68             3: 119.80547640905021 runs/s
69             4: 120.51886194758805 runs/s
70             5: 121.51924380569295 runs/s
71
72         :Time -> [117.40644785571585, 118.84720469666297, 119.80547640905021, 120.51886194758805, 121.51924380569295] runs/s
73             mean: 119.619446942942 runs/s
74             median: 119.80547640905021 runs/s
75             stdev: 1.5769040458730506 runs/s
76             min: 117.40644785571585 runs/s
77             max: 121.51924380569295 runs/s
78         -----------------------------------------------
79
80         * Dromaeo/resources/dromaeorunner.js:
81         (DRT.progress): Use the new format for subtest reports.
82         * resources/runner.js:
83         (.): Declare verboseLogging, which is set to true outside of test runners.
84         (PerfTestRunner.logInfo): Use verboseLogging instead of directly checking window.testRunner.
85         (PerfTestRunner.logDetail): Added. Logs informative text with a label such as "mean: 123 s" with 4-space indentation.
86         (PerfTestRunner.logStatistics): Use logDetail.
87         (.start): Initialize verboseLogging. Also log "Running 20 times" as an informative log using logDetail.
88         (.ignoreWarmUpAndLog): Use logDetail for showing the progress. These logs were useless inside test runners anyway
89         because perftest didn't get to see any output until the test finished running.
90         (.finish): Call logStatistics with metric name as opposed to a label. Each metric name is now prefixed with ':' to be
91         distinguishable from subtests, making the new format forward compatible.
92
93 2013-11-18  Ryosuke Niwa  <rniwa@webkit.org>
94
95         [Performance tests] Interactive/SelectAll.html throws an exception
96         https://bugs.webkit.org/show_bug.cgi?id=124495
97
98         Reviewed by Antti Koivisto
99
100         Return a boolean indicating whether more values are needed or not in
101         PerfTestRunner.measureValueAsync so that runTest can terminate gracefully.
102
103         * Interactive/SelectAll.html:
104         (runTest): Don't schedule a timer for runTest if we've got enough values.
105         * resources/runner.js:
106         (PerfTestRunner.measureValueAsync): Returns true iff more values are needed.
107
108 2013-11-13  Antti Koivisto  <antti@apple.com>
109
110         This was supposed to test overflow-wrap:break-word instead of word-break:break-all.
111
112         Rubber-stamped by Andreas Kling.
113
114         * Layout/line-layout-simple.html:
115
116 2013-11-12  Andreas Kling  <akling@apple.com>
117
118         Remove body onload handler from html5-8266.html that was causing
119         the test to sometimes finish before doing anything interesting.
120
121         Unskip Parser/HTML5-8266-FullRender.html now that it's stable.
122
123         Rubber-stamped by Antti Koivisto.
124
125         * Parser/resources/html5-8266.html:
126         * Skipped:
127
128 2013-11-12  Andreas Kling  <akling@apple.com>
129
130         Neutralize external resource loads in the new HTML5 spec copy.
131
132         Skip Parser/HTML5-8266-FullRender.html until I can make it less flaky.
133
134         * Parser/resources/html5-8266.html:
135         * Skipped:
136
137 2013-11-12  Andreas Kling  <akling@apple.com>
138
139         Import a fresh version of the full HTML5 spec for perf testing.
140
141         Rubber-stamped by Antti Koivisto.
142
143         * Parser/HTML5-8266-FullRender.html: Added.
144         * Parser/HTML5-8266-ParseOnly.html: Added.
145         * Parser/resources/html5-8266.html: Added.
146
147 2013-11-09  Antti Koivisto  <antti@apple.com>
148
149         Add subtest for word-break:break-all to Layout/line-layout-simple.html
150         https://bugs.webkit.org/show_bug.cgi?id=124103
151
152         Reviewed by Andreas Kling.
153
154         * Layout/line-layout-simple.html:
155
156         Combination "white-space:pre-wrap; word-break:break-all" is common for pure text.
157
158 2013-11-08  Antti Koivisto  <antti@apple.com>
159
160         Add line layout performance test that exercises more cases
161         https://bugs.webkit.org/show_bug.cgi?id=124041
162         
163         Reviewed by Anders Carlsson.
164
165         The existing line-layout.html covers the most basic left-aligned case only.
166         Add a test with more coverage for things that are mostly not yet supported by the simple
167         line layout path:
168         
169         - centered text
170         - right aligned text
171         - justified text
172         - pre
173         - white-space:pre-wrap
174         - text with simple inlines
175         - text with br
176
177         * Layout/line-layout-simple.html: Added.
178
179 2013-10-25  Sergio Villar Senin  <svillar@igalia.com>
180
181         Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
182         https://bugs.webkit.org/show_bug.cgi?id=118620
183
184         Reviewed by Antti Koivisto.
185
186         From Blink r152960 by <ojan@chromium.org>
187
188         New performance test for layouts in flexboxes.
189
190         * Layout/flexbox-lots-of-data.html: Added.
191
192 2013-10-24  Commit Queue  <commit-queue@webkit.org>
193
194         Unreviewed, rolling out r157916.
195         http://trac.webkit.org/changeset/157916
196         https://bugs.webkit.org/show_bug.cgi?id=123274
197
198         Broke Layout/flexbox-lots-of-data.html on perfbot (Requested
199         by ap on #webkit).
200
201         * Layout/flexbox-lots-of-data.html: Removed.
202
203 2013-10-14  Sergio Villar Senin  <svillar@igalia.com>
204
205         Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
206         https://bugs.webkit.org/show_bug.cgi?id=118620
207
208         Reviewed by Antti Koivisto.
209
210         From Blink r152960 by <ojan@chromium.org>
211
212         New performance test for layouts in flexboxes.
213
214         * Layout/flexbox-lots-of-data.html: Added.
215
216 2013-10-06  Ryosuke Niwa  <rniwa@webkit.org>
217
218         DoYouEvenBench: Make it work on Internet Explorer 11 Release Preview
219         https://bugs.webkit.org/show_bug.cgi?id=122406
220
221         Reviewed by Darin Adler.
222
223         On Internet Explorer 11, $(elem).closest('li').data('id') fails to find the containig li of elem once
224         the first item is marked complete or deleted until we get back to the event loop in the jQuery/TodoMVC.
225         Worked around this limitation by overriding app.getTodo to use each item's id computed in advance.
226
227         Also use $.text instead of execCommand('InsertText') in FlightJS/MailClient since Internet Explorer
228         doesn't support execCommand('InsertText'). Also select the recipient to avoid exceptions.
229
230         * DoYouEvenBench/benchmark.html:
231
232 2013-10-05  Ryosuke Niwa  <rniwa@webkit.org>
233
234         DoYouEvenBench: Add Facebook's React TodoMVC test case
235         https://bugs.webkit.org/show_bug.cgi?id=122379
236
237         Reviewed by Andreas Kling.
238
239         Add React/TodoMVC as a new test case. Somehow we beat Firefox on this one as well.
240
241         * DoYouEvenBench/benchmark.html:
242         * DoYouEvenBench/todomvc/labs: Added.
243         * DoYouEvenBench/todomvc/labs/architecture-examples: Added.
244         * DoYouEvenBench/todomvc/labs/architecture-examples/react: Added.
245         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower.json: Added.
246         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components: Added.
247         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director: Added.
248         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/LICENSE: Added.
249         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/README.md: Added.
250         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build: Added.
251         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.js: Added.
252         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.min.js: Added.
253         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/ender.js: Added.
254         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react: Added.
255         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/JSXTransformer.js: Added.
256         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/bower.json: Added.
257         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.js: Added.
258         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.min.js: Added.
259         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common: Added.
260         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: Added.
261         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.js: Added.
262         * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png: Added.
263         * DoYouEvenBench/todomvc/labs/architecture-examples/react/index.html: Added.
264         * DoYouEvenBench/todomvc/labs/architecture-examples/react/js: Added.
265         * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/app.jsx: Added.
266         * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/footer.jsx: Added.
267         * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/todoItem.jsx: Added.
268         * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/utils.jsx: Added.
269         * DoYouEvenBench/todomvc/labs/architecture-examples/react/readme.md: Added.
270
271 2013-09-25  Ryosuke Niwa  <rniwa@webkit.org>
272
273         DoYouEvenBench: Add a test case for FlightJS
274         https://bugs.webkit.org/show_bug.cgi?id=121926
275
276         Reviewed by Antti Koivisto.
277
278         Add a FlightJS test case.
279
280         * DoYouEvenBench/benchmark.html:
281         * DoYouEvenBench/benchmark.js:
282         * DoYouEvenBench/flightjs-example-app: Added.
283         * DoYouEvenBench/flightjs-example-app/LICENSE.md: Added.
284         * DoYouEvenBench/flightjs-example-app/README.md: Added.
285         * DoYouEvenBench/flightjs-example-app/app: Added.
286         * DoYouEvenBench/flightjs-example-app/app/boot: Added.
287         * DoYouEvenBench/flightjs-example-app/app/boot/page.js: Added.
288         * DoYouEvenBench/flightjs-example-app/app/component_data: Added.
289         * DoYouEvenBench/flightjs-example-app/app/component_data/compose_box.js: Added.
290         * DoYouEvenBench/flightjs-example-app/app/component_data/mail_items.js: Added.
291         * DoYouEvenBench/flightjs-example-app/app/component_data/move_to.js: Added.
292         * DoYouEvenBench/flightjs-example-app/app/component_ui: Added.
293         * DoYouEvenBench/flightjs-example-app/app/component_ui/compose_box.js: Added.
294         * DoYouEvenBench/flightjs-example-app/app/component_ui/folders.js: Added.
295         * DoYouEvenBench/flightjs-example-app/app/component_ui/mail_controls.js: Added.
296         * DoYouEvenBench/flightjs-example-app/app/component_ui/mail_items.js: Added.
297         * DoYouEvenBench/flightjs-example-app/app/component_ui/move_to_selector.js: Added.
298         * DoYouEvenBench/flightjs-example-app/app/component_ui/with_select.js: Added.
299         * DoYouEvenBench/flightjs-example-app/app/css: Added.
300         * DoYouEvenBench/flightjs-example-app/app/css/custom.css: Added.
301         * DoYouEvenBench/flightjs-example-app/app/data.js: Added.
302         * DoYouEvenBench/flightjs-example-app/app/templates.js: Added.
303         * DoYouEvenBench/flightjs-example-app/components: Added.
304         * DoYouEvenBench/flightjs-example-app/components/bootstrap: Added.
305         * DoYouEvenBench/flightjs-example-app/components/bootstrap/css: Added.
306         * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.css: Added.
307         * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.min.css: Added.
308         * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.css: Added.
309         * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.min.css: Added.
310         * DoYouEvenBench/flightjs-example-app/components/bootstrap/img: Added.
311         * DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png: Added.
312         * DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png: Added.
313         * DoYouEvenBench/flightjs-example-app/components/bootstrap/js: Added.
314         * DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.js: Added.
315         * DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.min.js: Added.
316         * DoYouEvenBench/flightjs-example-app/components/es5-shim: Added.
317         * DoYouEvenBench/flightjs-example-app/components/es5-shim/.gitignore: Added.
318         * DoYouEvenBench/flightjs-example-app/components/es5-shim/CHANGES: Added.
319         * DoYouEvenBench/flightjs-example-app/components/es5-shim/CONTRIBUTORS.md: Added.
320         * DoYouEvenBench/flightjs-example-app/components/es5-shim/LICENSE: Added.
321         * DoYouEvenBench/flightjs-example-app/components/es5-shim/README.md: Added.
322         * DoYouEvenBench/flightjs-example-app/components/es5-shim/component.json: Added.
323         * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.js: Added.
324         * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.min.js: Added.
325         * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.js: Added.
326         * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.min.js: Added.
327         * DoYouEvenBench/flightjs-example-app/components/es5-shim/package.json: Added.
328         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests: Added.
329         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers: Added.
330         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-kill.js: Added.
331         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-matchers.js: Added.
332         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h.js: Added.
333         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/index.html: Added.
334         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib: Added.
335         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine-html.js: Added.
336         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.css: Added.
337         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.js: Added.
338         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png: Added.
339         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/json2.js: Added.
340         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec: Added.
341         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-array.js: Added.
342         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-date.js: Added.
343         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-function.js: Added.
344         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-object.js: Added.
345         * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-string.js: Added.
346         * DoYouEvenBench/flightjs-example-app/components/flight: Added.
347         * DoYouEvenBench/flightjs-example-app/components/flight/.travis.yml: Added.
348         * DoYouEvenBench/flightjs-example-app/components/flight/lib: Added.
349         * DoYouEvenBench/flightjs-example-app/components/flight/lib/advice.js: Added.
350         * DoYouEvenBench/flightjs-example-app/components/flight/lib/component.js: Added.
351         * DoYouEvenBench/flightjs-example-app/components/flight/lib/compose.js: Added.
352         * DoYouEvenBench/flightjs-example-app/components/flight/lib/index.js: Added.
353         * DoYouEvenBench/flightjs-example-app/components/flight/lib/logger.js: Added.
354         * DoYouEvenBench/flightjs-example-app/components/flight/lib/registry.js: Added.
355         * DoYouEvenBench/flightjs-example-app/components/flight/lib/utils.js: Added.
356         * DoYouEvenBench/flightjs-example-app/components/flight/tools: Added.
357         * DoYouEvenBench/flightjs-example-app/components/flight/tools/debug: Added.
358         * DoYouEvenBench/flightjs-example-app/components/flight/tools/debug/debug.js: Added.
359         * DoYouEvenBench/flightjs-example-app/components/jasmine-flight: Added.
360         * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/LICENSE.md: Added.
361         * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/README.md: Added.
362         * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/bower.json: Added.
363         * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib: Added.
364         * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib/jasmine-flight.js: Added.
365         * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery: Added.
366         * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib: Added.
367         * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib/jasmine-jquery.js: Added.
368         * DoYouEvenBench/flightjs-example-app/components/jquery: Added.
369         * DoYouEvenBench/flightjs-example-app/components/jquery/component.json: Added.
370         * DoYouEvenBench/flightjs-example-app/components/jquery/composer.json: Added.
371         * DoYouEvenBench/flightjs-example-app/components/jquery/jquery.js: Added.
372         * DoYouEvenBench/flightjs-example-app/components/jquery/jquery.min.js: Added.
373         * DoYouEvenBench/flightjs-example-app/components/mustache: Added.
374         * DoYouEvenBench/flightjs-example-app/components/mustache/mustache.js: Added.
375         * DoYouEvenBench/flightjs-example-app/components/requirejs: Added.
376         * DoYouEvenBench/flightjs-example-app/components/requirejs/require.js: Added.
377         * DoYouEvenBench/flightjs-example-app/index.html: Added.
378         * DoYouEvenBench/flightjs-example-app/karma.conf.js: Added.
379         * DoYouEvenBench/flightjs-example-app/package.json: Added.
380         * DoYouEvenBench/flightjs-example-app/requireMain.js: Added.
381
382 2013-09-19  Ryosuke Niwa  <rniwa@webkit.org>
383
384         DoYouEvenBench: Indentations in benchmark.js and benchmark.html are all messed up
385         https://bugs.webkit.org/show_bug.cgi?id=121597
386
387         Reviewed by Anders Carlsson.
388
389         Fixed indentations.
390
391         * DoYouEvenBench/benchmark.html:
392         * DoYouEvenBench/benchmark.js:
393         (SimplePromise.prototype.resolve.else):
394         (SimplePromise.prototype.resolve):
395         (BenchmarkRunner.waitForElement.resolveIfReady):
396         (BenchmarkRunner.waitForElement):
397         (BenchmarkRunner._waitAndWarmUp.Fibonacci):
398         (BenchmarkRunner._finalize):
399
400 2013-09-19  Ryosuke Niwa  <rniwa@webkit.org>
401
402         Add an AngularJS test to DoYouEvenBench
403         https://bugs.webkit.org/show_bug.cgi?id=121595
404
405         Reviewed by Antti Koivisto.
406
407         * DoYouEvenBench/benchmark.html:
408         * DoYouEvenBench/todomvc/architecture-examples/angularjs: Added.
409         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower.json: Added.
410         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components: Added.
411         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular: Added.
412         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks: Added.
413         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Added.
414         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Added.
415         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common: Added.
416         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Added.
417         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Added.
418         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Added.
419         * DoYouEvenBench/todomvc/architecture-examples/angularjs/index.html: Added.
420         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js: Added.
421         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/app.js: Added.
422         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers: Added.
423         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: Added.
424         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives: Added.
425         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Added.
426         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: Added.
427         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: Added.
428         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services: Added.
429         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: Added.
430         * DoYouEvenBench/todomvc/architecture-examples/angularjs/readme.md: Added.
431         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test: Added.
432         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config: Added.
433         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Added.
434         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/package.json: Added.
435         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/readme.md: Added.
436         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit: Added.
437         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Added.
438         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Added.
439
440 2013-09-17  Ryosuke Niwa  <rniwa@webkit.org>
441
442         Add a not completely unrealistic DOM Benchmark
443         https://bugs.webkit.org/show_bug.cgi?id=121361
444
445         Reviewed by Filip Pizlo.
446
447         Add a DOM benchmark based on TodoMVC for vanilla JS, Ember.js, Backbone.js, and jQuery.
448         We'll add more frameworks and demo apps as we go.
449
450         * DoYouEvenBench: Added.
451         * DoYouEvenBench/benchmark.html: Added.
452         * DoYouEvenBench/benchmark.js: Added.
453         (SimplePromise): 
454         (SimplePromise.prototype.then):
455         (SimplePromise.prototype.resolve.else):
456         (SimplePromise.prototype.resolve):
457         (BenchmarkRunner.suite):
458         (BenchmarkRunner.waitForElement.resolveIfReady):
459         (BenchmarkRunner.waitForElement):
460         (BenchmarkRunner._removeFrame):
461         (BenchmarkRunner._appendFrame):
462         (BenchmarkRunner._waitAndWarmUp.Fibonacci):
463         (BenchmarkRunner._testName):
464         (BenchmarkRunner._testItemId):
465         (BenchmarkRunner.listSuites.button.onclick):
466         (BenchmarkRunner.listSuites.callNextStep):
467         (BenchmarkRunner.listSuites):
468         (BenchmarkState):
469         (BenchmarkState.prototype.currentSuite):
470         (BenchmarkState.prototype.currentTest):
471         (BenchmarkState.prototype.next):
472         (BenchmarkState.prototype.isFirstTest):
473         (BenchmarkState.prototype.prepareCurrentSuite.frame.onload):
474         (BenchmarkRunner.step):
475         (BenchmarkRunner._runTestAndRecordResults):
476         (BenchmarkRunner._finalize):
477         * DoYouEvenBench/todomvc: Added.
478         * DoYouEvenBench/todomvc/architecture-examples: Added.
479         * DoYouEvenBench/todomvc/architecture-examples/backbone: Added.
480         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower.json: Added.
481         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components: Added.
482         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone: Added.
483         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage: Added.
484         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Added.
485         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js: Added.
486         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery: Added.
487         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Added.
488         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common: Added.
489         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Added.
490         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Added.
491         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Added.
492         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore: Added.
493         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Added.
494         * DoYouEvenBench/todomvc/architecture-examples/backbone/index.html: Added.
495         * DoYouEvenBench/todomvc/architecture-examples/backbone/js: Added.
496         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/app.js: Added.
497         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections: Added.
498         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections/todos.js: Added.
499         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models: Added.
500         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models/todo.js: Added.
501         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers: Added.
502         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers/router.js: Added.
503         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views: Added.
504         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/app-view.js: Added.
505         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/todo-view.js: Added.
506         * DoYouEvenBench/todomvc/architecture-examples/backbone/readme.md: Added.
507         * DoYouEvenBench/todomvc/architecture-examples/emberjs: Added.
508         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower.json: Added.
509         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components: Added.
510         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember: Added.
511         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter: Added.
512         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Added.
513         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Added.
514         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars: Added.
515         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Added.
516         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery: Added.
517         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Added.
518         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common: Added.
519         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: Added.
520         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Added.
521         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Added.
522         * DoYouEvenBench/todomvc/architecture-examples/emberjs/index.html: Added.
523         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js: Added.
524         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/app.js: Added.
525         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers: Added.
526         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Added.
527         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Added.
528         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs: Added.
529         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs/ember-data.js: Added.
530         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models: Added.
531         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/store.js: Added.
532         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/todo.js: Added.
533         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views: Added.
534         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Added.
535         * DoYouEvenBench/todomvc/architecture-examples/emberjs/readme.md: Added.
536         * DoYouEvenBench/todomvc/architecture-examples/emberjs/test.html: Added.
537         * DoYouEvenBench/todomvc/architecture-examples/jquery: Added.
538         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower.json: Added.
539         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components: Added.
540         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars: Added.
541         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Added.
542         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery: Added.
543         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Added.
544         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common: Added.
545         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Added.
546         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Added.
547         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Added.
548         * DoYouEvenBench/todomvc/architecture-examples/jquery/css: Added.
549         * DoYouEvenBench/todomvc/architecture-examples/jquery/css/app.css: Added.
550         * DoYouEvenBench/todomvc/architecture-examples/jquery/index.html: Added.
551         * DoYouEvenBench/todomvc/architecture-examples/jquery/js: Added.
552         * DoYouEvenBench/todomvc/architecture-examples/jquery/js/app.js: Added.
553         * DoYouEvenBench/todomvc/architecture-examples/jquery/readme.md: Added.
554         * DoYouEvenBench/todomvc/license.md: Added.
555         * DoYouEvenBench/todomvc/readme.md: Added.
556         * DoYouEvenBench/todomvc/vanilla-examples: Added.
557         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs: Added.
558         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower.json: Added.
559         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components: Added.
560         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common: Added.
561         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Added.
562         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Added.
563         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Added.
564         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/index.html: Added.
565         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js: Added.
566         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/app.js: Added.
567         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/controller.js: Added.
568         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/helpers.js: Added.
569         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/model.js: Added.
570         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/store.js: Added.
571         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/view.js: Added.
572         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/readme.md: Added.
573         * Skipped:
574
575 2013-09-04  Filip Pizlo  <fpizlo@apple.com>
576
577         Introduce a version of SunSpider that runs for a really long time (about 1 sec on my machine)
578
579         Rubber stamped by Mark Hahnenberg.
580         
581         This isn't meant for serious VM-to-VM performance comparisons, but it is useful
582         to see how these benchmarks behave when they're completely warmed up.
583
584         * LongSpider: Added.
585         * LongSpider/3d-cube.js: Added.
586         (DrawLine):
587         (CalcCross):
588         (CalcNormal):
589         (CreateP):
590         (MMulti):
591         (VMulti):
592         (VMulti2):
593         (MAdd):
594         (Translate):
595         (RotateX):
596         (RotateY):
597         (RotateZ):
598         (DrawQube):
599         (Loop):
600         (Init):
601         * LongSpider/3d-morph.js: Added.
602         (loops.3500.nx.120.nz.120.morph):
603         * LongSpider/3d-raytrace.js: Added.
604         (createVector):
605         (sqrLengthVector):
606         (lengthVector):
607         (addVector):
608         (subVector):
609         (scaleVector):
610         (normaliseVector):
611         (add):
612         (sub):
613         (scalev):
614         (dot):
615         (scale):
616         (cross):
617         (normalise):
618         (transformMatrix):
619         (invertMatrix):
620         (Triangle):
621         (Triangle.prototype.intersect):
622         (Scene):
623         (Scene.prototype.intersect):
624         (Scene.prototype.blocked):
625         (Camera):
626         (Camera.prototype.generateRayPair):
627         (renderRows):
628         (Camera.prototype.render):
629         (raytraceScene.floorShader):
630         (raytraceScene):
631         (arrayToCanvasCommands):
632         * LongSpider/access-binary-trees.js: Added.
633         (TreeNode):
634         (TreeNode.prototype.itemCheck):
635         (bottomUpTree):
636         * LongSpider/access-fannkuch.js: Added.
637         (fannkuch):
638         * LongSpider/access-nbody.js: Added.
639         (Body):
640         (Body.prototype.offsetMomentum):
641         (Jupiter):
642         (Saturn):
643         (Uranus):
644         (Neptune):
645         (Sun):
646         (NBodySystem):
647         (NBodySystem.prototype.advance):
648         (NBodySystem.prototype.energy):
649         * LongSpider/access-nsieve.js: Added.
650         (pad):
651         (nsieve):
652         (sieve):
653         * LongSpider/bitops-3bit-bits-in-byte.js: Added.
654         (fast3bitlookup):
655         (TimeFunc):
656         * LongSpider/bitops-bits-in-byte.js: Added.
657         (bitsinbyte):
658         (TimeFunc):
659         * LongSpider/bitops-nsieve-bits.js: Added.
660         (pad):
661         (primes):
662         (sieve):
663         * LongSpider/controlflow-recursive.js: Added.
664         (ack):
665         (fib):
666         (tak):
667         * LongSpider/crypto-aes.js: Added.
668         (Cipher):
669         (SubBytes):
670         (ShiftRows):
671         (MixColumns):
672         (AddRoundKey):
673         (KeyExpansion):
674         (SubWord):
675         (RotWord):
676         (AESEncryptCtr):
677         (AESDecryptCtr):
678         (escCtrlChars):
679         * LongSpider/crypto-md5.js: Added.
680         (hex_md5):
681         (b64_md5):
682         (str_md5):
683         (hex_hmac_md5):
684         (b64_hmac_md5):
685         (str_hmac_md5):
686         (md5_vm_test):
687         (core_md5):
688         (md5_cmn):
689         (md5_ff):
690         (md5_gg):
691         (md5_hh):
692         (md5_ii):
693         (core_hmac_md5):
694         (safe_add):
695         (bit_rol):
696         (str2binl):
697         (binl2str):
698         (binl2hex):
699         (binl2b64):
700         * LongSpider/crypto-sha1.js: Added.
701         (hex_sha1):
702         (b64_sha1):
703         (str_sha1):
704         (hex_hmac_sha1):
705         (b64_hmac_sha1):
706         (str_hmac_sha1):
707         (sha1_vm_test):
708         (core_sha1):
709         (sha1_ft):
710         (sha1_kt):
711         (core_hmac_sha1):
712         (safe_add):
713         (rol):
714         (str2binb):
715         (binb2str):
716         (binb2hex):
717         (binb2b64):
718         * LongSpider/date-format-tofte.js: Added.
719         (arrayExists):
720         (.a):
721         (.A):
722         (.B):
723         (.d):
724         (.D):
725         (.F):
726         (.g):
727         (.G):
728         (.h):
729         (.H):
730         (.i):
731         (.j):
732         (.l):
733         (.L):
734         (.m):
735         (.M):
736         (.n):
737         (.O):
738         (.r):
739         (.S):
740         (.s):
741         (.t):
742         (.U):
743         (.W):
744         (.w):
745         (.Y):
746         (.y):
747         (.z):
748         (Date.prototype.formatDate):
749         * LongSpider/date-format-xparb.js: Added.
750         (Date.prototype.dateFormat):
751         (Date.createNewFormat):
752         (Date.getFormatCode):
753         (Date.parseDate):
754         (Date.createParser):
755         (Date.formatCodeToRegex):
756         (Date.prototype.getTimezone):
757         (Date.prototype.getGMTOffset):
758         (Date.prototype.getDayOfYear):
759         (Date.prototype.getWeekOfYear):
760         (Date.prototype.isLeapYear):
761         (Date.prototype.getFirstDayOfMonth):
762         (Date.prototype.getLastDayOfMonth):
763         (Date.prototype.getDaysInMonth):
764         (Date.prototype.getSuffix):
765         (String.escape):
766         * LongSpider/math-cordic.js: Added.
767         (FIXED):
768         (FLOAT):
769         (DEG2RAD):
770         (cordicsincos):
771         (cordic):
772         * LongSpider/math-partial-sums.js: Added.
773         (partial):
774         * LongSpider/math-spectral-norm.js: Added.
775         (A):
776         (Au):
777         (Atu):
778         (AtAu):
779         (spectralnorm):
780         * LongSpider/string-base64.js: Added.
781         (toBase64):
782         (base64ToString):
783         * LongSpider/string-fasta.js: Added.
784         (rand):
785         (makeCumulative):
786         (fastaRepeat):
787         (fastaRandom):
788         * LongSpider/string-tagcloud.js: Added.
789         (.Array.prototype.toJSONString):
790         (.Boolean.prototype.toJSONString):
791         (.Date.prototype.toJSONString):
792         (.Number.prototype.toJSONString):
793         (.Object.prototype.toJSONString):
794         (.):
795
796 2013-06-10  Radu Stavila  <stavila@adobe.com>
797
798         [CSS Regions] Rename region-overflow to region-fragment
799         https://bugs.webkit.org/show_bug.cgi?id=117397
800
801         Renamed -webkit-region-overflow to -webkit-region-fragment according to the new working draft
802         at http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-region-fragment-property
803
804         Reviewed by Alexander Pavlov.
805
806         * Layout/resources/regions.css:
807
808 2013-06-05  Zan Dobersek  <zdobersek@igalia.com>
809
810         Move MemoryInfo under window.internals
811         https://bugs.webkit.org/show_bug.cgi?id=117197
812
813         Reviewed by Ryosuke Niwa.
814
815         * resources/runner.js: Remove the setMemoryEnabled call, it's not required anymore as the memory
816         info is now accessed through window.internals and doesn't need the setting to be enabled to work.
817
818 2013-05-30  Ryosuke Niwa  <rniwa@webkit.org>
819
820         Web Inspector: tests in PerformanceTests/inspector/ are timing out
821         https://bugs.webkit.org/show_bug.cgi?id=77024
822
823         Reviewed by Andreas Kling.
824
825         These tests have been disabled for ages and don't conform to the standard format.
826
827         * Skipped:
828         * inspector: Removed.
829         * inspector/console-300-lines.html: Removed.
830         * inspector/first-open-elements.html: Removed.
831         * inspector/first-open-resources.html: Removed.
832         * inspector/first-open-scripts.html.broken: Removed.
833         * inspector/heap-snapshot-advanced.html: Removed.
834         * inspector/heap-snapshot-performance-test.js: Removed.
835         * inspector/heap-snapshot.html: Removed.
836         * inspector/inspector-startup-time.html: Removed.
837         * inspector/network-append-30-requests.html.broken: Removed.
838         * inspector/performance-test.js: Removed.
839         * inspector/show-panel.html.broken: Removed.
840
841 2013-05-27  Benjamin Poulain  <benjamin@webkit.org>
842
843         Add a balanced benchmark for QuerySelector
844         https://bugs.webkit.org/show_bug.cgi?id=116811
845
846         Reviewed by Sam Weinig.
847
848         The goal of this benchmark is to have an overview of querySelector as typically used
849         by webpages.
850
851         It uses queries similar to what is used by popular websites and applies somewhat
852         similar weighting for each type of query.
853
854         The tree used for the queries is intentionally kept simple to ensure we measure QuerySelector
855         a not purely the overhead of traversal.
856
857         * CSS/QuerySelector.html: Added.
858         * CSS/resources/query-selector.html: Added.
859
860 2013-05-18  Ryosuke Niwa  <rniwa@webkit.org>
861
862         Add a performance test for copying
863         https://bugs.webkit.org/show_bug.cgi?id=116394
864
865         Reviewed by Andreas Kling.
866
867         Added. We're going to skip this test by default since it's such a microbenchmark, and also because
868         it currently takes 30 minutes to run. As insane as it sounds, each copy takes rouhgly 57 seconds.
869
870         Running Interactive/CopyAll.html (1 of 1)
871         RESULT Interactive: CopyAll: Time= 57618.05 ms
872         median= 57135.0 ms, stdev= 1542.07271571 ms, min= 55095.0 ms, max= 60913.0 ms
873         RESULT Interactive: CopyAll: JSHeap= 102811.2 bytes
874         median= 103272.0 bytes, stdev= 1115.28148913 bytes, min= 100648.0 bytes, max= 103504.0 bytes
875         RESULT Interactive: CopyAll: Malloc= 446408712.0 bytes
876         median= 459156772.0 bytes, stdev= 20007346.3266 bytes, min= 415564040.0 bytes, max= 462011928.0 bytes
877         Finished: 1766.883236 s
878
879         * Interactive/CopyAll.html: Added.
880         * Skipped:
881
882 2013-05-13  Seokju Kwon  <seokju.kwon@gmail.com>
883
884         Web Inspector: Get rid of native-memory-snapshot in performance test
885         https://bugs.webkit.org/show_bug.cgi?id=116013
886
887         Reviewed by Andreas Kling.
888
889         Remove native-memory-snapshot.html from PerformanceTests.
890
891         * inspector/native-memory-snapshot.html: Removed.
892         * inspector/performance-test.js:
893         (initialize_TimeTracker.Timer):
894         (initialize_TimeTracker.Timer.prototype._dump):
895         (initialize_TimeTracker.InspectorTest.runPerformanceTest):
896
897 2013-04-10  Benjamin Poulain  <bpoulain@apple.com>
898
899         Mass remove all the empty directories
900
901         Rubberstamped by Ryosuke Niwa.
902
903         * Bindings/resources: Removed.
904
905 2013-04-02  Glenn Adams  <glenn@skynav.com>
906
907         Need japanese line layout performance test
908         https://bugs.webkit.org/show_bug.cgi?id=113811
909
910         Reviewed by Ryosuke Niwa.
911
912         Will be used by https://bugs.webkit.org/show_bug.cgi?id=105692 to test potential performance regression
913         for Japanese (and other CJK) line break changes.
914
915         * Layout/LineLayoutJapanese.html: Added.
916         * Skipped: Skip this test by default.
917
918 2013-03-29  Andrei Bucur  <abucur@adobe.com>
919
920         [CSS Regions] Add performance tests
921         https://bugs.webkit.org/show_bug.cgi?id=113303
922
923         Reviewed by Antti Koivisto.
924
925         Add simple performance tests for regions, without nested named flows: a region chain and a flow article.
926         The regions.js script is used to generate the tests and can set the following parameters: the number of regions,
927         the number of paragraphs, the regions width, height, max-height and the propability of a forced break after a paragraph.
928
929         The tests are skipped for now. They should be enabled once the regions performance is stable enough to create a baseline.
930
931         * Layout/RegionsAuto.html: Added. A few regions with a short article. The regions have auto-height and some
932         paragraphs (80%) have forced breaks after. Stress test for the auto-height algorithm.
933         * Layout/RegionsAutoMaxHeight.html: Added. A lot of regions with auto-height and max-height. Tests the impact of
934         max-height on the auto-height algorithm.
935         * Layout/RegionsFixed.html: Added. A lot of regions with a long article. Some paragraphs (50%) have forced breaks after.
936         Stress test for the regions layout algorithm.
937         * Layout/RegionsFixedShort.html: Added. A lot of short regions with a long content. Tests the impact of unforced breaks
938         on the layout speed.
939         * Layout/resources/regions.css: Added.
940         (.articleInFlow):
941         (.articleNone):
942         (.region):
943         (.contentParagraph):
944         (.breakAfter):
945         (.regionContainer):
946         * Layout/resources/regions.js: Added.
947         (.):
948         * Skipped:
949
950 2013-03-26  Ryosuke Niwa  <rniwa@webkit.org>
951
952         Add a performance tests for selecting all content in a document
953         https://bugs.webkit.org/show_bug.cgi?id=113358
954
955         Reviewed by Levi Weintraub.
956
957         Add a performance test for selecting all. We wait for paint to happen by setTimeout(~, 0).
958
959         Example outputs:
960             RESULT Interactive: SelectAll: Time= 652.6 ms
961             median= 644.5 ms, stdev= 54.6177144967 ms, min= 599.0 ms, max= 773.0 ms
962
963             RESULT Interactive: SelectAll: Time= 654.4 ms
964             median= 633.5 ms, stdev= 55.9223145368 ms, min= 600.0 ms, max= 769.0 ms
965
966             RESULT Interactive: SelectAll: Time= 657.9 ms
967             median= 640.0 ms, stdev= 54.1420159833 ms, min= 604.0 ms, max= 774.0 ms
968
969         * Interactive/SelectAll.html: Added.
970         * Skipped:
971
972 2013-03-19  Alexei Filippov  <alph@chromium.org>
973
974         Web Inspector: Fix heap profiler performance tests.
975         https://bugs.webkit.org/show_bug.cgi?id=112701
976
977         Reviewed by Yury Semikhatsky.
978
979         The tests were broken by profile types refactoring.
980
981         * inspector/heap-snapshot-performance-test.js:
982         (test.performanceTest.step0):
983         (test.performanceTest.step1):
984
985 2013-03-05  Eric Seidel  <eric@webkit.org>
986
987         Add html-parser-threaded perf test now that the threaded parser is enabled by default
988         https://bugs.webkit.org/show_bug.cgi?id=111200
989
990         Reviewed by Ryosuke Niwa.
991
992         The old srcdoc test no longer triggers the threaded parser due to compatibility fixes.
993
994         * Parser/html-parser-threaded.html: Renamed from PerformanceTests/Parser/html-parser-srcdoc.html.
995         * Skipped: Unfortunately this new test is still skipped too.
996
997 2013-03-04  Eric Seidel  <eric@webkit.org>
998
999         Add PerformanceTest for document startup via iframe append/remove
1000         https://bugs.webkit.org/show_bug.cgi?id=111389
1001
1002         Reviewed by Kentaro Hara.
1003
1004         We'd like pages with lots of iframes to be fast.
1005         This test shows that at least for V8/Chromium we spend
1006         all our time booting v8.
1007
1008         On my 32-core linux machine I see about 70 runs/sec in
1009         Release and 5 runs/sec in Debug.
1010
1011         * DOM/iframe-append-remove.html: Added.
1012
1013 2013-03-03  Ryosuke Niwa  <rniwa@webkit.org>
1014
1015         Some perf. tests have variances that differ greatly between runs
1016         https://bugs.webkit.org/show_bug.cgi?id=97510
1017
1018         Reviewed by Benjamin Poulain.
1019
1020         In order to control the number of iterations and processes to use from run-perf-tests, always use 20
1021         iterations on all tests except Dromaeo, where even doing 5 iterations is prohibitively slow, by default.
1022         Without this change, it'll become extremely hard for us to tweak the number of iterations and processes
1023         to use from run-perf-tests.
1024
1025         * Animation/balls.html:
1026         * DOM/DOMTable.html:
1027         * DOM/resources/dom-perf.js:
1028         (runBenchmarkSuite.PerfTestRunner.measureTime):
1029         * Dromaeo/resources/dromaeorunner.js:
1030         * Layout/floats_100_100.html:
1031         * Layout/floats_100_100_nested.html:
1032         * Layout/floats_20_100.html:
1033         * Layout/floats_20_100_nested.html:
1034         * Layout/floats_2_100.html:
1035         * Layout/floats_2_100_nested.html:
1036         * Layout/floats_50_100.html:
1037         * Layout/floats_50_100_nested.html:
1038         * Layout/subtree-detaching.html:
1039         * Parser/html5-full-render.html:
1040         * SVG/SvgHitTesting.html:
1041         * resources/runner.js:
1042         * resources/results-template.html:
1043
1044 2013-02-25  Ryosuke Niwa  <rniwa@webkit.org>
1045
1046         Use perf.webkit.org JSON format in results page
1047         https://bugs.webkit.org/show_bug.cgi?id=110842
1048
1049         Reviewed by Benjamin Poulain.
1050
1051         Updated the results page template to use the new JSON format.
1052
1053         Since new JSON format doesn't contain statistics such as stdev and min, added statistics.js to compute
1054         these values. Also use 95% percentile confidence interval instead of standard deviation in various places.
1055
1056         * resources/results-template.html: Added statistics.js as dependency.
1057         (TestResult): Updated to take a metric instead of its test. Replaced stdev() with confidenceIntervalDelta()
1058         now that we have a fancy Statistics class.
1059
1060         (TestRun.webkitRevision):
1061         (PerfTestMetric): Renamed from PerfTest since this object now encapsulates each measurement (such as time,
1062         JS heap, and malloc) in test. Also added a conversion table from a metric name to a unit since new format
1063         doesn't contain units.
1064         (PerfTestMetric.name): Updated to compute the full metric name from test name and metric name, matching
1065         the old behavior.
1066         (PerfTestMetric.isMemoryTest): Explicitly look for 'JSHeap' and 'Malloc' tests.
1067         (PerfTestMetric.smallerIsBetter):
1068
1069         (attachPlot): Deleted the code to deal with tests that don't provide individual iteration measurement
1070         since such tests no longer exist. Also fixed up the code compute y-axis range.
1071
1072         (createTableRow.markupForRun): Updated to use confidenceIntervalDelta() instead of stdev().
1073         
1074         (init.addTests): Added. Recursively add metrics.
1075
1076         * resources/statistics.js: Added. Imported from perf.webkit.org.
1077         (Statistics.max):
1078         (Statistics.min):
1079         (Statistics.sum):
1080         (Statistics.squareSum):
1081         (Statistics.sampleStandardDeviation):
1082         (Statistics.supportedConfidenceLevels):
1083         (Statistics.confidenceIntervalDelta):
1084         (Statistics.confidenceInterval):
1085
1086 2013-02-11  Alexei Filippov  <alph@chromium.org>
1087
1088         Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
1089         https://bugs.webkit.org/show_bug.cgi?id=108653
1090
1091         Reviewed by Yury Semikhatsky.
1092
1093         Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
1094         In fact these two profile types have not too much in common. So put each into its own domain.
1095         It should also help when Profiles panel gets split into several tools.
1096         This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
1097         change the original InspectorProfilerAgent.
1098
1099         * inspector/heap-snapshot-performance-test.js:
1100         (test.performanceTest.cleanup):
1101
1102 2013-02-05  Dominik Röttsches  <dominik.rottsches@intel.com>
1103
1104         Add a performance test for arabic line breaking
1105         https://bugs.webkit.org/show_bug.cgi?id=108948
1106
1107         Reviewed by Eric Seidel.
1108
1109         Adding a perfomance test based to exercise the complex
1110         font path used in rendering arabic script.
1111
1112         * Layout/ArabicLineLayout.html: Added.
1113         * Skipped: New test skipped by default as per Ryosuke's request.
1114
1115 2013-01-23  Yury Semikhatsky  <yurys@chromium.org>
1116
1117         Web Inspector: some measurements are missing in PerformanceTests/inspector/heap-*.html
1118         https://bugs.webkit.org/show_bug.cgi?id=107687
1119
1120         Reviewed by Pavel Feldman.
1121
1122         * inspector/heap-snapshot-performance-test.js: override methods on JSHeapSnapshot instead
1123         of HeapSnapshot, otherwise overrides from JSHeapSnapshot will rule.
1124
1125 2013-01-18  Ryosuke Niwa  <rniwa@webkit.org>
1126
1127         Skip DOM/TraverseChildNodes.html as intended in r140070.
1128
1129         * Skipped:
1130
1131 2013-01-17  Dominic Cooney  <dominicc@chromium.org>
1132
1133         Unreviewed, re-land r140051.
1134
1135         I overzealously rolled this out; the test was intended to be
1136         skipped, but was not skipped because of a typo in Skipped. See
1137         <https://bugs.webkit.org/show_bug.cgi?id=107210>
1138
1139         * Parser/html-parser-srcdoc.html: Added.
1140         * Skipped: Big-P Parser.
1141
1142 2013-01-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1143
1144         Unreviewed, rolling out r140051.
1145         http://trac.webkit.org/changeset/140051
1146         https://bugs.webkit.org/show_bug.cgi?id=107210
1147
1148         html-parser-srcdoc.html failing on Chromium Linux Perf and
1149         Chromium Mac Perf with a lot of error spew about blocked
1150         script execution in 'about:srcdoc' (Requested by dominicc on
1151         #webkit).
1152
1153         * Parser/html-parser-srcdoc.html: Removed.
1154         * Skipped:
1155
1156 2013-01-16  Ryosuke Niwa  <rniwa@webkit.org>
1157
1158         Remove NodeListsNodeData when it's no longer needed
1159         https://bugs.webkit.org/show_bug.cgi?id=107074
1160
1161         Reviewed by Darin Adler.
1162
1163         Added a micro benchmark to see the benefit of removing NodeListsNodeData.
1164         The test traverses all elements in the html5 specification page and accesses childNodes.
1165
1166         Don't enable this test for now since it's really a micro benchmark specifically
1167         designed to test this patch.
1168
1169         * DOM/TraverseChildNodes.html: Added.
1170         * Skipped: Don't enable newly added test by default.
1171         * resources/results-template.html: Compare against the unscaled unit (e.g. "bytes") as
1172         opposed to scaled units such as "K bytes".
1173         * resources/runner.js:
1174         (.start): Moved the code to call currentTest.setup from measureRunsPerSecondOnce so that
1175         it'll be ran for all test types, namely of PerfTestRunner.measureTime.
1176         (.measureRunsPerSecondOnce):
1177
1178 2013-01-17  Eric Seidel  <eric@webkit.org>
1179
1180         Add a version of the html-parser benchmark which uses srcdoc instead of document.write so it tests the threaded parser
1181         https://bugs.webkit.org/show_bug.cgi?id=107158
1182
1183         Reviewed by Ryosuke Niwa.
1184
1185         Currently this test even opts-in to the threaded parser if available.
1186         We'll remove that line when the threaded parser becomes default or goes away.
1187
1188         * Parser/html-parser-srcdoc.html: Added.
1189
1190 2013-01-16  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1191
1192         inconsistency in drawImage with target rect negative dimensions.
1193         https://bugs.webkit.org/show_bug.cgi?id=100026
1194
1195         Reviewed by Dean Jackson.
1196
1197         Create a drawImage performance test. There is no significative change
1198         in performance: 27144.6851528 runs/s without the patch; 27153.517612
1199         runs/s with the patch. Test is currently skipped.
1200
1201         * Canvas/drawimage.html: Added.
1202         * Skipped:
1203
1204 2013-01-15  Dominic Cooney  <dominicc@chromium.org>
1205
1206         Allow zero values as results from the runFunction.
1207         https://bugs.webkit.org/show_bug.cgi?id=102500
1208
1209         Reviewed by Kentaro Hara.
1210
1211         DOM/DOMWalk.js fails on the Chromium Win perf bot because one or
1212         more parts of the test usually return zero at some point.
1213
1214         * resources/runner.js: Accept merely non-negative results.
1215
1216 2012-12-28  Yury Semikhatsky  <yurys@chromium.org>
1217
1218         Web Inspector: rename distanceToWindow to distance
1219         https://bugs.webkit.org/show_bug.cgi?id=105823
1220
1221         Reviewed by Pavel Feldman.
1222
1223         Updated heap profiler performance test after renaming distanceToWindow to distance.
1224
1225         * inspector/heap-snapshot-performance-test.js:
1226
1227 2012-12-18  Hayato Ito  <hayato@chromium.org>
1228
1229         Use element.webkitCreateShadowRoot instead of WebKitShadowRoot in PerformanceTests.
1230         https://bugs.webkit.org/show_bug.cgi?id=105256
1231
1232         Reviewed by Dimitri Glazkov.
1233
1234         WebKitShadowRoot constructor was deleted in favor of element.webkitCreateShadowRoot().
1235
1236         * ShadowDOM/ChangingClassNameShadowDOM.html:
1237         * ShadowDOM/ChangingSelect.html:
1238         * ShadowDOM/ContentReprojection.html:
1239         * ShadowDOM/DistributionWithMultipleShadowRoots.html:
1240         * ShadowDOM/LargeDistributionWithLayout.html:
1241         * ShadowDOM/MultipleInsertionPoints.html:
1242         * ShadowDOM/ShadowReprojection.html:
1243         * ShadowDOM/SmallDistributionWithLayout.html:
1244
1245 2012-12-17  Shinya Kawanaka  <shinyak@chromium.org>
1246
1247         [Shadow] LargeDistributionWithLayout.html should be updated
1248         https://bugs.webkit.org/show_bug.cgi?id=105242
1249
1250         Reviewed by Ryosuke Niwa.
1251
1252         Since this test was written when distribution took O(N^2). However, now it's almost O(N), so this test finishes
1253         in very short time. We should convert it unit to runs/s.
1254
1255         This test contains a some error to cause test failure, e.g. using obsolete API, so they also should be fixed.
1256
1257         * ShadowDOM/LargeDistributionWithLayout.html:
1258
1259 2012-12-13  Ryosuke Niwa  <rniwa@webkit.org>
1260
1261         [chromium perf] DOM/DOMWalk.html failures
1262         https://bugs.webkit.org/show_bug.cgi?id=104866
1263
1264         Reviewed by Eric Seidel.
1265
1266         Use PerfTestRunner.now which in turn uses window.performance.now() when it's available.
1267
1268         * DOM/resources/dom-perf.js:
1269         (Interval.start):
1270         (Interval.stop):
1271         (BenchmarkSuite.prototype.RunSingle):
1272
1273 2012-12-05  Shinya Kawanaka  <shinyak@chromium.org>
1274
1275         [Shadow] Performance tests for ShadowDOM distribution
1276         https://bugs.webkit.org/show_bug.cgi?id=103617
1277
1278         Reviewed by Dimitri Glazkov.
1279
1280         We would like to measure ShadowDOM distribution performance in various cases.
1281         In this patch, we add performance tests for several distribution patterns.
1282
1283         * ShadowDOM/ContentReprojection.html: Added.
1284         * ShadowDOM/DistributionWithMultipleShadowRoots.html: Added.
1285         * ShadowDOM/LargeDistributionWithLayout.html: Added.
1286         * ShadowDOM/MultipleInsertionPoints.html: Added.
1287         * ShadowDOM/ShadowReprojection.html: Added.
1288         * ShadowDOM/SmallDistributionWithLayout.html: Added.
1289
1290 2012-12-05  Shinya Kawanaka  <shinyak@chromium.org>
1291
1292         [Shadow] Performance tests of distribution for changing className
1293         https://bugs.webkit.org/show_bug.cgi?id=103612
1294
1295         Reviewed by Dimitri Glazkov.
1296
1297         We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM.
1298         In this patch, we add a case when classNames of distributed elemeents are changed.
1299
1300         * ShadowDOM/ChangingClassName.html: Added.
1301         * ShadowDOM/ChangingClassNameShadowDOM.html: Added.
1302
1303 2012-12-03  Ryosuke Niwa  <rniwa@webkit.org>
1304
1305         Dromaeo should report individual test result
1306         https://bugs.webkit.org/show_bug.cgi?id=99800
1307
1308         Reviewed by Eric Seidel.
1309
1310         Made one small modification to Droameo's webrunner.js so that it reports individual runs/s values
1311         for each subtest. This allows us to compute the aggregated run/s for each iteration like other
1312         performance tests.
1313
1314         Also stop measuring memory usage in Dromaeo tests because some Dromaeo tests (e.g. jslib-modify-jquery)
1315         have unrealistic memory usage, and measuring them at the time of teardown doesn't make much sense.
1316
1317         * Animation/balls.html: Fixed typo: measureValueAync.
1318         * Dromaeo/resources/dromaeo/web/webrunner.js:
1319
1320         * Dromaeo/resources/dromaeorunner.js:
1321         (DRT.setup): Call prepareToMeasureValuesAsync so that DRT.teardown can use meausreValueAsync, and log
1322         "Running 5 times". Since the log container will be inserted before iframe, we need to explicitly insert
1323         the iframe as the first child of the body element to avoid logs from affecting the iframe's position.
1324         Also specify the number of iterations by calling PerfTestRunner.iterationCount() so that we may adjust
1325         the number of iterations in PerfTestRunner.
1326
1327         (DRT.progress): Log individual measurement for each subtest.
1328         (DRT.teardown): Compute the aggregated result for each iteration, and log them using measureValueAsync.
1329
1330         * resources/runner.js:
1331         (PerfTestRunner.logStatistics): Merged printStatistics since it's no longer needed after r131638.
1332         (PerfTestRunner): Removed getAndPrintMemoryStatistics since it was used only in Dromaeo tests but
1333         we no longer measure memory usage in Dromaeo tests.
1334
1335         (start): Increment completedRuns from -1 to 0 for Dromaeo tests where we don't want to ignore the initial
1336         measurement. Note that ignoreWarmUpAndLog ignores the measurements for which completedRuns is negative.
1337
1338         (ignoreWarmUpAndLog): We don't measure memory usage in Dromaeo tests. See above.
1339         (PerfTestRunner.iterationCount): Added. This abstraction allows us to auto-adjust the number of iterations from
1340         run-perf-tests in near future.
1341         (PerfTestRunner.measureValueAsync): Renamed from measureValueAync.
1342
1343 2012-11-29  Shinya Kawanaka  <shinyak@chromium.org>
1344
1345         [Shadow] Performance tests of distribution for changing select attribute
1346         https://bugs.webkit.org/show_bug.cgi?id=103611
1347
1348         Reviewed by Hajime Morita.
1349
1350         We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM.
1351         In this patch, we add a case when select attribute of HTMLContentElement is changed.
1352
1353         * ShadowDOM/ChangingSelect.html: Added.
1354         * ShadowDOM/ChangingSelectWithoutShadow.html: Added.
1355         * Skipped:
1356
1357 2012-11-19  Shinya Kawanaka  <shinyak@chromium.org>
1358
1359         Changing id, className, or attribute should invalidate distribution
1360         https://bugs.webkit.org/show_bug.cgi?id=100738
1361
1362         Reviewed by Dimitri Glazkov.
1363
1364         Added test code to modify id/class/attribute.
1365
1366         * DOM/ModifyAttribute.html: Added.
1367         * DOM/resources/dom-perf/modify-attribute.js: Added.
1368         (ModifyAttribute.CreateElementToSetUp):
1369         (ModifyAttribute.ModifyId):
1370         (ModifyAttribute.ModifyClass):
1371         (ModifyAttribute.ModifyTitle):
1372
1373 2012-11-14  Ryosuke Niwa  <rniwa@webkit.org>
1374
1375         runCount in runner.js should be renamed to iterationCount
1376         https://bugs.webkit.org/show_bug.cgi?id=102208
1377
1378         Reviewed by Tony Chang.
1379
1380         Prior to this patch, there were terminology confusions between "runs" and "iterations".
1381         The term "run" should refer to running a performance test once, and "iteration" should
1382         refer to one measurement in the test. i.e. Executing run-perf-should once will result in
1383         a single "run" of performance tests and each test may execute multiple "iterations"
1384         to complete the run.
1385
1386         Unfortunately, we still overload the meaning of "runs" in "runs/s" (is "function calls/s")
1387         but that could be addressed in a separate patch.
1388
1389         * Animation/balls.html:
1390         * DOM/DOMTable.html:
1391         * DOM/resources/dom-perf.js:
1392         * Layout/floats_100_100.html:
1393         * Layout/floats_100_100_nested.html:
1394         * Layout/floats_20_100.html:
1395         * Layout/floats_20_100_nested.html:
1396         * Layout/floats_2_100.html:
1397         * Layout/floats_2_100_nested.html:
1398         * Layout/floats_50_100.html:
1399         * Layout/floats_50_100_nested.html:
1400         * Layout/subtree-detaching.html:
1401         * Parser/html5-full-render.html:
1402         * SVG/SvgHitTesting.html:
1403         * resources/runner.js:
1404
1405 2012-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
1406
1407         Unreviewed, rolling out r134367.
1408         http://trac.webkit.org/changeset/134367
1409         https://bugs.webkit.org/show_bug.cgi?id=100738
1410
1411         Speculative rollout, could have cause Dromaeo setAttribute
1412         perf regression.
1413
1414         * DOM/ModifyAttribute.html: Removed.
1415         * DOM/resources/dom-perf/modify-attribute.js: Removed.
1416
1417 2012-11-12  Shinya Kawanaka  <shinyak@chromium.org>
1418
1419         Changing id, className, or attribute should invalidate distribution
1420         https://bugs.webkit.org/show_bug.cgi?id=100738
1421
1422         Reviewed by Dimitri Glazkov.
1423
1424         Added test code to modify id/class/attribute.
1425
1426         * DOM/ModifyAttribute.html: Added.
1427         * DOM/resources/dom-perf/modify-attribute.js: Added.
1428         (ModifyAttribute.CreateElementToSetUp):
1429         (ModifyAttribute.ModifyId):
1430         (ModifyAttribute.ModifyClass):
1431         (ModifyAttribute.ModifyTitle):
1432
1433 2012-11-06  Adam Barth  <abarth@webkit.org>
1434
1435         DOMImplementation should use ScriptWrappable
1436         https://bugs.webkit.org/show_bug.cgi?id=101279
1437
1438         Reviewed by Eric Seidel.
1439
1440         This simple PerformanceTest measure how quickly we can access
1441         document.implementation. The goal of this performance test is just to
1442         validate that using ScriptWrappable actually makes the bindings faster.
1443
1444         * Bindings/document-implementation.html: Added.
1445
1446 2012-11-05  Geoffrey Garen  <ggaren@apple.com>
1447
1448         WebKit should have performance tests for book chapter reflow
1449         https://bugs.webkit.org/show_bug.cgi?id=101271
1450
1451         Reviewed by Dan Bernstein.
1452
1453         I grabbed a book chapter from the Project Gutenberg front page:
1454
1455         * Layout/chapter-reflow-once.html: Added.
1456         * Layout/chapter-reflow-thrice.html: Added.
1457         * Layout/chapter-reflow-twice.html: Added.
1458         * Layout/chapter-reflow.html: Added.
1459
1460         I also created a torture-test random text generator:
1461
1462         * Layout/chapter-reflow-once-random.html: Added.
1463
1464 2012-10-29  Zoltan Horvath  <zoltan@webkit.org>
1465
1466         Turn PageLoad tests into simple performancetests, commit #7 (last) 
1467         https://bugs.webkit.org/show_bug.cgi?id=99899
1468
1469         Reviewed by Ryosuke Niwa.
1470
1471         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1472         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1473         to their new location and adds html/js wrappers for them.
1474
1475         This is the #7 (last) commit of the whole patch.
1476
1477         * PageLoad: Removed.
1478         * PageLoad/svg: Removed.
1479         * PageLoad/svg/LICENSES: Removed.
1480         * PageLoad/svg/files: Removed.
1481         * PageLoad/svg/files/33041-Samurai.svg: Removed.
1482         * PageLoad/svg/files/42450-under the see.svg: Removed.
1483         * PageLoad/svg/files/world-iso.svg: Removed.
1484         * PageLoad/svg/svg.pltsuite: Removed.
1485         * SVG/Samurai.html: Added.
1486         * SVG/UnderTheSee.html: Added.
1487         * SVG/WorldIso.html: Added.
1488         * SVG/resources/LICENSES: Copied from PerformanceTests/PageLoad/svg/LICENSES.
1489         * SVG/resources/Samurai.svg: Copied from PerformanceTests/PageLoad/svg/files/33041-Samurai.svg.
1490         * SVG/resources/UnderTheSee.svg: Copied from PerformanceTests/PageLoad/svg/files/42450-under%20the%20see.svg.
1491         * SVG/resources/WorldIso.svg: Copied from PerformanceTests/PageLoad/svg/files/world-iso.svg.
1492         * SVG/resources/svg.pltsuite: Copied from PerformanceTests/PageLoad/svg/svg.pltsuite.
1493         * Skipped: Rename the files on the skipped list also.
1494
1495 2012-10-26  Eric Seidel  <eric@webkit.org>
1496
1497         Add a microbenchmark for Hindi (complex-text) line-layout
1498         https://bugs.webkit.org/show_bug.cgi?id=100024
1499
1500         Reviewed by Ryosuke Niwa.
1501
1502         I wrote this to make sure that we don't regress line-breaking performance
1503         for the complex-text codepath. This test has shown me that TOT is
1504         already 5% slower than Safari 6.0.1 here. :(
1505
1506         * Layout/hindi-line-layout.html: Added.
1507
1508 2012-10-26  Zoltan Horvath  <zoltan@webkit.org>
1509
1510         Turn PageLoad tests into simple performancetests, commit #6 
1511         https://bugs.webkit.org/show_bug.cgi?id=99899
1512
1513         Reviewed by Ryosuke Niwa.
1514
1515         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1516         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1517         to their new location and adds html/js wrappers for them.
1518
1519         This is the #6 commit of the whole patch.
1520
1521         * PageLoad/svg/files/gearflowers.svg: Removed.
1522         * PageLoad/svg/files/hereGear4.svg: Removed.
1523         * PageLoad/svg/files/worldcup.svg: Removed.
1524         * SVG/GearFlowers.html: Added.
1525         * SVG/HereGear.html: Added.
1526         * SVG/Worldcup.html: Added.
1527         * SVG/resources/GearFlowers.svg: Copied from PerformanceTests/PageLoad/svg/files/gearflowers.svg.
1528         * SVG/resources/HereGear.svg: Copied from PerformanceTests/PageLoad/svg/files/hereGear4.svg.
1529         * SVG/resources/Worldcup.svg: Copied from PerformanceTests/PageLoad/svg/files/worldcup.svg.
1530         * Skipped: Rename the files on the skipped list also.
1531
1532 2012-10-26  Zoltan Horvath  <zoltan@webkit.org>
1533
1534         Turn PageLoad tests into simple performancetests, commit #5 
1535         https://bugs.webkit.org/show_bug.cgi?id=99899
1536
1537         Reviewed by Ryosuke Niwa.
1538
1539         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1540         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1541         to their new location and adds html/js wrappers for them.
1542
1543         This is the #5 commit of the whole patch.
1544
1545         * PageLoad/svg/files/Harvey_Rayner.svg: Removed.
1546         * PageLoad/svg/files/Sierpinski_carpet_6.svg: Removed.
1547         * PageLoad/svg/files/mtsthelens.svg: Removed.
1548         * PageLoad/svg/files/mtsthelens0.jpg: Removed.
1549         * SVG/HarveyRayner.html: Added.
1550         * SVG/MtSaintHelens.html: Added.
1551         * SVG/SierpinskiCarpet.html: Added.
1552         * SVG/resources/HarveyRayner.svg: Copied from PerformanceTests/PageLoad/svg/files/Harvey_Rayner.svg.
1553         * SVG/resources/MtSaintHelens.svg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens.svg.
1554         * SVG/resources/SierpinskiCarpet.svg: Copied from PerformanceTests/PageLoad/svg/files/Sierpinski_carpet_6.svg.
1555         * SVG/resources/mtsthelens0.jpg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens0.jpg.
1556         * Skipped: Rename the files on the skipped list also.
1557
1558 2012-10-25  Zoltan Horvath  <zoltan@webkit.org>
1559
1560         Turn PageLoad tests into simple performancetests, commit #4 
1561         https://bugs.webkit.org/show_bug.cgi?id=99899
1562
1563         Reviewed by Ryosuke Niwa.
1564
1565         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1566         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1567         to their new location and adds html/js wrappers for them.
1568
1569         This is the #4 commit of the whole patch.
1570
1571         * PageLoad/svg/files/france.svg: Removed.
1572         * PageLoad/svg/files/francobollo_gnome_ezechi_02.svg: Removed.
1573         * SVG/France.html: Added.
1574         * SVG/FrancoBolloGnomeEzechi.html: Added.
1575         * SVG/resources/France.svg: Copied from PerformanceTests/PageLoad/svg/files/france.svg.
1576         * SVG/resources/FrancoBolloGnomeEzechi.svg: Copied from PerformanceTests/PageLoad/svg/files/francobollo_gnome_ezechi_02.svg.
1577         * Skipped: Rename the files on the skipped list also.
1578
1579 2012-10-25  Zoltan Horvath  <zoltan@webkit.org>
1580
1581         Turn PageLoad tests into simple performancetests, commit #3 
1582         https://bugs.webkit.org/show_bug.cgi?id=99899
1583
1584         Reviewed by Ryosuke Niwa.
1585
1586         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1587         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1588         to their new location and adds html/js wrappers for them.
1589
1590         This is the #3 commit of the whole patch.
1591
1592         * PageLoad/svg/files/42470-flower_from_my_garden_v2.svg: Removed.
1593         * PageLoad/svg/files/44057-drops on a blade.svg: Removed.
1594         * PageLoad/svg/files/deb9frac1.svg: Removed.
1595         * PageLoad/svg/files/food_leif_lodahl_01.svg: Removed.
1596         * SVG/Debian.html: Added.
1597         * SVG/DropsOnABlade.html: Added.
1598         * SVG/FlowerFromMyGarden.html: Added.
1599         * SVG/FoodLeifLodahl.html: Added.
1600         * SVG/resources/Debian.svg: Copied from PerformanceTests/PageLoad/svg/files/deb9frac1.svg.
1601         * SVG/resources/DropsOnABlade.svg: Copied from PerformanceTests/PageLoad/svg/files/44057-drops%20on%20a%20blade.svg.
1602         * SVG/resources/FlowerFromMyGarden.svg: Copied from PerformanceTests/PageLoad/svg/files/42470-flower_from_my_garden_v2.svg.
1603         * SVG/resources/FoodLeifLodahl.svg: Copied from PerformanceTests/PageLoad/svg/files/food_leif_lodahl_01.svg.
1604
1605 2012-10-24  Zoltan Horvath  <zoltan@webkit.org>
1606
1607         Turn PageLoad tests into simple performancetests, commit #2 
1608         https://bugs.webkit.org/show_bug.cgi?id=99899
1609
1610         Reviewed by Ryosuke Niwa.
1611
1612         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1613         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1614         to their new location and adds html/js wrappers for them.
1615
1616         This is the #2 commit of the whole patch.
1617
1618         * PageLoad/svg/files/cacuts_01.svg: Removed.
1619         * PageLoad/svg/files/cowboy.svg: Removed.
1620         * PageLoad/svg/files/crawfish2_ganson.svg: Removed.
1621         * SVG/Cactus.html: Added.
1622         * SVG/Cowboy.html: Added.
1623         * SVG/CrawFishGanson.html: Added.
1624         * SVG/resources/Cactus.svg: Copied from PerformanceTests/PageLoad/svg/files/cacuts_01.svg.
1625         * SVG/resources/Cowboy.svg: Copied from PerformanceTests/PageLoad/svg/files/cowboy.svg.
1626         * SVG/resources/CrawFishGanson.svg: Copied from PerformanceTests/PageLoad/svg/files/crawfish2_ganson.svg.
1627         * Skipped: Remove az-lizard_benji_park_01.svg from the skipped list.
1628
1629 2012-10-24  Zoltan Horvath  <zoltan@webkit.org>
1630
1631         Turn PageLoad tests into simple performancetests, commit #1 
1632         https://bugs.webkit.org/show_bug.cgi?id=99899
1633
1634         Reviewed by Ryosuke Niwa.
1635
1636         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1637         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1638         to their new location and adds html/js wrappers for them.
1639
1640         This is the #1 commit of the whole patch.
1641
1642         * PageLoad/svg/files/az-lizard_benji_park_01.svg: Removed.
1643         * PageLoad/svg/files/bamboo_01.svg: Removed.
1644         * SVG/AzLizardBenjiPark.html: Added.
1645         * SVG/Bamboo.html: Added.
1646         * SVG/resources: Added.
1647         * SVG/resources/AzLizardBenjiPark.svg: Copied from PerformanceTests/PageLoad/svg/files/az-lizard_benji_park_01.svg.
1648         * SVG/resources/Bamboo.svg: Copied from PerformanceTests/PageLoad/svg/files/bamboo_01.svg.
1649
1650 2012-10-24  Zoltan Horvath  <zoltan@webkit.org>
1651
1652         REGRESSION(r131982): Skip SVG/SvgNestedUse.html performancetest since it is crashing
1653         https://bugs.webkit.org/show_bug.cgi?id=100262
1654
1655         Unreviewed.
1656
1657         Skip until proper fix.
1658
1659         * Skipped: Add SVG/SvgNestedUse.html
1660
1661 2012-10-23  Zoltan Horvath  <zoltan@webkit.org>
1662
1663         Store the loaded file locally in measurePageLoadTime
1664         https://bugs.webkit.org/show_bug.cgi?id=100172
1665
1666         Reviewed by Csaba Osztrogonác.
1667
1668         Store the loaded file as a local variable instead of attaching it to the test object.
1669         Handle chunkSize inside test.run.
1670
1671         * resources/runner.js:
1672         (.):
1673
1674 2012-10-23  Zoltan Horvath  <zoltan@webkit.org>
1675
1676         Add measurePageLoadTime function to PerfTestRunner
1677         https://bugs.webkit.org/show_bug.cgi?id=100029
1678
1679         Reviewed by Ryosuke Niwa.
1680
1681         Adopt chunk based loading logic from html5-full-render.html into measurePageLoadTime function,
1682         this is needed to measure the performance and the memory consumption of the PageLoadTests as
1683         we do it for all other performancetests.
1684
1685         * Parser/html5-full-render.html: Move the behavior to runner.js.
1686         * resources/runner.js:
1687         (.): Add measurePageLoadTime function.
1688
1689 2012-10-22  Adam Barth  <abarth@webkit.org>
1690
1691         [V8] Vastly simplify V8GCController's NodeVisitor
1692         https://bugs.webkit.org/show_bug.cgi?id=99884
1693
1694         Reviewed by Kentaro Hara.
1695
1696         Adds some performance tests for the garbage collector.
1697
1698         * Bindings/gc-forest.html: Added.
1699         * Bindings/gc-mini-tree.html: Added.
1700         * Bindings/gc-tree.html: Added.
1701
1702 2012-10-17  Ryosuke Niwa  <rniwa@webkit.org>
1703
1704         Bump up the number of iterations of html5-full-render to 5
1705         https://bugs.webkit.org/show_bug.cgi?id=99657
1706
1707         Reviewed by Andreas Kling.
1708
1709         Now that html5-full-render.html runs in less than 15 seconds after r131553,
1710         we can afford to get 5 instead of 2 samples.
1711
1712         * Parser/html5-full-render.html:
1713
1714 2012-10-17  Ryosuke Niwa  <rniwa@webkit.org>
1715
1716         Rename PerfTestRunner.runPerSecond to PerfTestRunner.measureRunsPerSecond for consistency
1717         https://bugs.webkit.org/show_bug.cgi?id=99642
1718
1719         Reviewed by Dirk Pranke.
1720
1721         Renamed the method.
1722
1723         * Bindings/append-child.html:
1724         * Bindings/create-element.html:
1725         * Bindings/event-target-wrapper.html:
1726         * Bindings/first-child.html:
1727         * Bindings/get-attribute.html:
1728         * Bindings/get-element-by-id.html:
1729         * Bindings/get-elements-by-tag-name.html:
1730         * Bindings/id-getter.html:
1731         * Bindings/id-setter.html:
1732         * Bindings/insert-before.html:
1733         * Bindings/node-list-access.html:
1734         * Bindings/scroll-top.html:
1735         * Bindings/set-attribute.html:
1736         * Bindings/typed-array-construct-from-array.html:
1737         * Bindings/typed-array-construct-from-same-type.html:
1738         * Bindings/typed-array-construct-from-typed.html:
1739         * Bindings/typed-array-set-from-typed.html:
1740         * Bindings/undefined-first-child.html:
1741         * Bindings/undefined-get-element-by-id.html:
1742         * Bindings/undefined-id-getter.html:
1743         * CSS/CSSPropertySetterGetter.html:
1744         * CSS/CSSPropertyUpdateValue.html:
1745         * CSS/PseudoClassSelectors.html:
1746         * DOM/textarea-dom.html:
1747         * DOM/textarea-edit.html:
1748         * Interactive/resources/window-resize.js:
1749         * Layout/flexbox-column-nowrap.html:
1750         * Layout/flexbox-column-wrap.html:
1751         * Layout/flexbox-row-nowrap.html:
1752         * Layout/flexbox-row-wrap.html:
1753         * Layout/line-layout.html:
1754         * Parser/css-parser-yui.html:
1755         * Parser/innerHTML-setter.html:
1756         * Parser/query-selector-deep.html:
1757         * Parser/query-selector-first.html:
1758         * Parser/query-selector-last.html:
1759         * Parser/simple-url.html:
1760         * Parser/textarea-parsing.html:
1761         * Parser/tiny-innerHTML.html:
1762         * Parser/url-parser.html:
1763         * Parser/xml-parser.html:
1764         * SVG/SvgNestedUse.html:
1765         * resources/runner.js:
1766
1767 2012-10-17  Ryosuke Niwa  <rniwa@webkit.org>
1768
1769         Performance test should support asynchronous tests
1770         https://bugs.webkit.org/show_bug.cgi?id=95668
1771
1772         Reviewed by Dirk Pranke.
1773
1774         Added PerfTestRunner.prepareToMeasureValuesAsync and PerfTestRunner.measureValueAsync,
1775         and deployed it in Animation/balls.
1776
1777         * Animation/balls.html:
1778         * resources/runner.js:
1779
1780 2012-10-16  Elliott Sprehn  <esprehn@chromium.org>
1781
1782         html5-full-render.html test uses substring but meant substr
1783         https://bugs.webkit.org/show_bug.cgi?id=99495
1784
1785         Reviewed by Adam Barth.
1786
1787         This test intended to chunk up the HTML5 spec into chunks of 500k chars, but used
1788         substring(to,from) instead of substr(from,length) so it actually loaded 5x more
1789         content than was in the HTML5 spec.
1790
1791         * Parser/html5-full-render.html:
1792
1793 2012-10-11  James Simonsen  <simonjam@chromium.org>
1794
1795         unprefix window.performance.webkitNow()
1796         https://bugs.webkit.org/show_bug.cgi?id=88278
1797
1798         Reviewed by Tony Gentilcore.
1799
1800         * resources/runner.js: Bind to proper object to avoid invalid invocation errors.
1801
1802 2012-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1803
1804         Skip Layout/subtree-detaching.html temporarily as it's very noisy and
1805         takes 112s to run on Chromium Mac. This is tracked by the bug 98708.
1806
1807         * Skipped:
1808
1809 2012-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1810
1811         Perf. test results page is broken when runs have different sets of tests
1812         https://bugs.webkit.org/show_bug.cgi?id=98691
1813
1814         Reviewed by Daniel Bates.
1815
1816         Add "missing" columns for tests that are missing some runs.
1817
1818         Also fix regressions from the previous patch:
1819         - Make reference run switch work again
1820         - Load jquery plugins from the remote server when the jquery is loaded from the remote server.
1821
1822         * resources/results-template.html:
1823
1824 2012-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1825
1826         Perf test pesults page takes forever to load on a machine with a slow Internet connection
1827         https://bugs.webkit.org/show_bug.cgi?id=98561
1828
1829         Reviewed by Ojan Vafai.
1830
1831         Try loading jquery both locally and remotely, and use the same method to load the remaining
1832         jquery plugins when either one succeeds.
1833
1834         * resources/results-template.html:
1835
1836 2012-10-04  Hayato Ito  <hayato@chromium.org>
1837
1838         [Refactoring] Introduce a traversal strategy in SelectorChecker
1839         https://bugs.webkit.org/show_bug.cgi?id=97298
1840
1841         Reviewed by Antti Koivisto.
1842
1843         Introduces querySelector() performance tests to check SelectorChecker performance.
1844
1845         * CSS/PseudoClassSelectors.html: Added.
1846
1847 2012-10-03  Philip Rogers  <pdr@google.com>
1848
1849         Force GC between PageLoad tests.
1850         https://bugs.webkit.org/show_bug.cgi?id=98203
1851
1852         Reviewed by Ryosuke Niwa.
1853
1854         Previously, our PageLoad PerfTests had multi-modal distributions,
1855         typically with a small cluster at 1-2x the median. This turned out
1856         to be caused by not garbage collecting between tests!
1857
1858         This patch adds a new file, force-gc.html, and loads this file between
1859         PageLoad tests to force a GC. I manually verified that this cleans up
1860         our perf test outliers.
1861
1862         * resources/force-gc.html: Added.
1863
1864 2012-10-03  Julien Chaffraix  <jchaffraix@webkit.org>
1865
1866         Add a performance test for subtree detaching
1867         https://bugs.webkit.org/show_bug.cgi?id=98281
1868
1869         Reviewed by Eric Seidel.
1870
1871         The new test tries to stress detaching on a heavy subtree (2 levels deep but with 1,000 nodes per level).
1872         We set display: none on the root and measure the time it takes to update the tree. Note that we will also
1873         measure the time taken by recalcStyle and relayout but I don't think we can avoid that.
1874
1875         * Layout/subtree-detaching.html: Added.
1876
1877 2012-10-02  Ryosuke Niwa  <rniwa@webkit.org>
1878
1879         Build fix after r130135. Dromaeo tests only report single memory value,
1880         and computeStatistics should report variance as 0 in such cases.
1881
1882         * resources/runner.js:
1883
1884 2012-10-02  Philip Rogers  <pdr@google.com>
1885
1886         Fix PerfTest standard deviation calculation.
1887         https://bugs.webkit.org/show_bug.cgi?id=98115
1888
1889         Reviewed by Ryosuke Niwa.
1890
1891         Previously our standard deviation calculation was incorrect. This patch
1892         updates perftest.py's algorithm to calculate the sample standard deviation
1893         (with Bessel's correction) using Knuth's online algorithm:
1894         http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm
1895         An existing test has been modified to prove our new results.
1896
1897         This patch also updates runner.js to use Bessel's correction in
1898         its sample standard deviation calculation, which is more accurate
1899         for small sample sizes.
1900
1901         Additionally, runner.js has been modified to not calculate
1902         the 'sum' statistic, which was not very useful.
1903
1904         * resources/runner.js:
1905         (PerfTestRunner.computeStatistics):
1906
1907 2012-10-01  Ryosuke Niwa  <rniwa@webkit.org>
1908
1909         PerfTestRunner: Move all functions into the closure and always use double quotation for string literals
1910         https://bugs.webkit.org/show_bug.cgi?id=98093
1911
1912         Reviewed by Ojan Vafai.
1913
1914         Move all methods of PerfTestRunner into the closure that defines it.
1915         Also always use double quotations for string literals for consistency.
1916
1917         * resources/runner.js:
1918
1919 2012-10-01  Ryosuke Niwa  <rniwa@webkit.org>
1920
1921         Encapsulate private properties in PerfTestRunner better
1922         https://bugs.webkit.org/show_bug.cgi?id=97833
1923
1924         Reviewed by Ojan Vafai.
1925
1926         This patch moves "private" methods and properties of PerfTestRunner into a closure so that they're
1927         inaccssible from outside. Also catch exceptions from test.run, test.done, and other runner code
1928         to ensure we call notifyDone() even if we broke tests. Otherwise DRT will timeout and we end up
1929         waiting for 10 minutes per each broken test on bots.
1930
1931         * resources/runner.js:
1932         (PerfTestRunner.gc):
1933         (logInDocument): Extracted from PerfTestRunner.log.
1934         (PerfTestRunner.log): Moved.
1935         (logFatalError): Added.
1936         (start): Renamed from PerfTestRunner._start.
1937         (scheduleNextRun): Extracted from PerfTestRunner._runLoop. Also catch any exceptions that happen
1938         in the runner and ignoreWarmUpAndLog so that we don't end up timing out. We call logFatalError in
1939         such cases, which in turn ensures notifyDone() is called.
1940         (ignoreWarmUpAndLog): Renamed from PerfTestRunner._ignoreWarmUpAndLog.
1941         (finish): Extracted from PerfTestRunner._runLoop.
1942         (PerfTestRunner.measureTime): Moved. The initialization of runCount is moved into start().
1943         (measureTimeOnce): Renamed from PerfTestRunner._measureTimeOnce.
1944         (PerfTestRunner.runPerSecond): Moved. Ditto about runCount.
1945         (measureRunsPerSecondOnce): Renamed from PerfTestRunner._measureRunsPerSecondOnce.
1946         (callRunAndMeasureTime): Renamed from PerfTestRunner._perSecondRunnerIterator.
1947
1948 2012-10-01  Florin Malita  <fmalita@chromium.org>
1949
1950         Add a performance test for nested <use> elements
1951         https://bugs.webkit.org/show_bug.cgi?id=98047
1952
1953         Reviewed by Ryosuke Niwa.
1954
1955         Currently at ~5 runs per second on my workstation, but should go up significantly (100+)
1956         after landing a fix for https://bugs.webkit.org/show_bug.cgi?id=97905.
1957
1958         * SVG/SvgNestedUse.html: Added.
1959
1960 2012-09-28  Ryosuke Niwa  <rniwa@webkit.org>
1961
1962         Add back test.runCount for runPerSecond as it's used by tests in fast/harness/perftests.
1963
1964         * resources/runner.js:
1965         (PerfTestRunner.runPerSecond):
1966
1967 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
1968
1969         Build fix after r129824.
1970
1971         * DOM/resources/dom-perf.js:
1972         (runBenchmarkSuite):
1973
1974 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
1975
1976         Remove unused features and reduce code duplications in PerfTestRunner
1977         https://bugs.webkit.org/show_bug.cgi?id=97852
1978
1979         Reviewed by Kentaro Hara.
1980
1981         Made the following refactoring changes:
1982         - Remove PerfTestRunner.info since it's never used.
1983         - Moved the js heap/malloc related functions up to where they belong.
1984         - Moved the initialization of _callsPerIteration, _test, and -description into _start,
1985           and stopped initializing _runFunction and _doneFunction since both test times now
1986           use _test object.
1987         - Made _measureTimeOnce and _measureRunsPerSecondOnce return the measured value
1988           instead of calling ignoreWarmUpAndLog and _runLoop to share the code; they're now
1989           called in _measureRunsPerSecondOnce.
1990
1991         * resources/runner.js:
1992         (PerfTestRunner.storeHeapResults): Moved.
1993         (PerfTestRunner.getUsedMallocHeap): Moved.
1994         (PerfTestRunner.getUsedJSHeap): Moved.
1995         (PerfTestRunner.getAndPrintMemoryStatistics): Moved.
1996         (PerfTestRunner._scheduleNextMeasurementOrNotifyDone): Renamed from _runLoop. Calls
1997         ignoreWarmUpAndLog and schedules the next call.
1998         (PerfTestRunner._measureTimeOnce): Renamed from _runner.
1999         (PerfTestRunner._start): Renamed from initAndStartLoop.
2000         (PerfTestRunner.measureTime):
2001         (PerfTestRunner.runPerSecond):
2002         (PerfTestRunner._measureRunsPerSecondOnce): Renamed from _measureRunsPerSecondOnce.
2003         (PerfTestRunner._perSecondRunnerIterator):
2004
2005 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
2006
2007         PerfTestRunner.run should take an object
2008         https://bugs.webkit.org/show_bug.cgi?id=97743
2009
2010         Reviewed by Kentaro Hara.
2011
2012         Rename PerfTestRunner.run to PerfTestRunner.measureTime and make it take an object instead of
2013         5 arguments. Also get rid of PerfTestRunner._loopsPerRun since it's no longer used (it's always 1).
2014
2015         * CSS/StyleSheetInsert.html:
2016         * DOM/resources/dom-perf.js:
2017         * Layout/floats_100_100.html:
2018         * Layout/floats_100_100_nested.html:
2019         * Layout/floats_20_100.html:
2020         * Layout/floats_20_100_nested.html:
2021         * Layout/floats_2_100.html:
2022         * Layout/floats_2_100_nested.html:
2023         * Layout/floats_50_100.html:
2024         * Layout/floats_50_100_nested.html:
2025         * Parser/html-parser.html:
2026         * Parser/html5-full-render.html:
2027         * SVG/SvgCubics.html:
2028         * SVG/SvgHitTesting.html:
2029         * resources/runner.js:
2030
2031 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
2032
2033         PerformanceTests/CSS/StyleSheetInsert.html has a time-dependent non-Gaussian distribution
2034         https://bugs.webkit.org/show_bug.cgi?id=97741
2035
2036         Reviewed by Antti Koivisto.
2037
2038         Reset the content in the iframe in each run so that the runtime from each run follows a normal distribution.
2039         We can cleanup this code once my patch to replace the argument list of run by an object is landed.
2040
2041         * CSS/StyleSheetInsert.html:
2042
2043 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
2044
2045         Unreviewed. Minor appearance tweaks after r129813.
2046
2047         * resources/results-template.html:
2048
2049 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
2050
2051         Results page should warn about time-dependent distributions
2052         https://bugs.webkit.org/show_bug.cgi?id=97818
2053
2054         Reviewed by Ojan Vafai.
2055
2056         Add a simple linear regression analysis on results page to detect time-dependent distributions.
2057         We add a warning sign (inline SVG) when the regression gave us a slope of at least 0.01 and a R^2 of at least 0.6.
2058         Also added time-series graphs per run under the bar graphs so that humans can manually inspect them.
2059
2060         A nice follow up would be to add some normality test (e.g. Shapiro-Wilk) to detect bi-modal distributions
2061         but we probably need to restructure the code to run it asynchronously since normality tests are slow.
2062
2063         * resources/results-template.html:
2064
2065 2012-09-26  Ryosuke Niwa  <rniwa@webkit.org>
2066
2067         Use runPerSecond in PerformanceTests/Bindings/typed-array* and event-target-wrapper
2068         https://bugs.webkit.org/show_bug.cgi?id=97625
2069
2070         Reviewed by Eric Seidel.
2071
2072         Use PerfTestRunner.runPerSecond instead of PerfTestRunner.run. Also reduce the fixed number of
2073         elements and iterations in these tests by a factor of 10 since runPerSecond can dynamically
2074         adjust the number of function calls.
2075
2076         * Bindings/event-target-wrapper.html:
2077         * Bindings/typed-array-construct-from-array.html:
2078         * Bindings/typed-array-construct-from-same-type.html:
2079         * Bindings/typed-array-construct-from-typed.html:
2080         * Bindings/typed-array-set-from-typed.html:
2081
2082 2012-09-25  Antti Koivisto  <antti@apple.com>
2083
2084         Optimize stylesheet insertions
2085         https://bugs.webkit.org/show_bug.cgi?id=97627
2086
2087         Reviewed by Andreas Kling.
2088
2089         Add synthetic performance test for avoiding style recalcs on stylesheet inserts.
2090
2091         * CSS/StyleSheetInsert.html: Added.
2092
2093 2012-09-25  Ryosuke Niwa  <rniwa@webkit.org>
2094
2095         Skip Dromaeo/jslib-modify-jquery.html per bug 95376.
2096         It runs out of memory on Chromium port, and it takes unreasonably long time (~5 minutes)
2097         to run on other ports.
2098
2099         * Skipped:
2100
2101 2012-09-20  Ryosuke Niwa  <rniwa@webkit.org>
2102
2103         Results page should show indivisual value
2104         https://bugs.webkit.org/show_bug.cgi?id=97178
2105
2106         Reviewed by Tony Chang.
2107
2108         Show indivisual values instead of statistics (min, max, stdev).
2109
2110         * resources/results-template.html:
2111
2112 2012-09-20  Ryosuke Niwa  <rniwa@webkit.org>
2113
2114         run-perf-tests should record individual value instead of statistics
2115         https://bugs.webkit.org/show_bug.cgi?id=97155
2116
2117         Reviewed by Hajime Morita.
2118
2119         Report the list of values as "values" so that run-perf-tests can parse them.
2120
2121         * resources/runner.js:
2122         (PerfTestRunner.computeStatistics):
2123         (PerfTestRunner.printStatistics):
2124
2125 2012-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2126
2127         Unreviewed, rolling out r129091.
2128         http://trac.webkit.org/changeset/129091
2129         https://bugs.webkit.org/show_bug.cgi?id=97205
2130
2131         It broke perf tests everywhere (Requested by Ossy on #webkit).
2132
2133         * resources/runner.js:
2134         (PerfTestRunner.computeStatistics):
2135         (PerfTestRunner.printStatistics):
2136
2137 2012-09-19  Ryosuke Niwa  <rniwa@webkit.org>
2138
2139         run-perf-tests should record indivisual value instead of statistics
2140         https://bugs.webkit.org/show_bug.cgi?id=97155
2141
2142         Reviewed by Hajime Morita.
2143
2144         Report the list of values as "values" so that run-perf-tests can parse them.
2145
2146         * resources/runner.js:
2147         (PerfTestRunner.computeStatistics):
2148         (PerfTestRunner.printStatistics):
2149
2150 2012-09-17  Ryosuke Niwa  <rniwa@webkit.org>
2151
2152         Perf test results is incomprehensive
2153         https://bugs.webkit.org/show_bug.cgi?id=94668
2154
2155         Reviewed by Eric Seidel.
2156
2157         Overhauled the results page to have a tabular view. Clicking on each row shows a flot graph we used to have.
2158         For each run and test, we show the mean value with the standard deviation along with the percent difference
2159         against the reference run chosen by the user if the difference is statistically significant; it also indicates
2160         whether the new value is progression or not.
2161
2162         The unit of each test is adjusted automatically using SI prefixes (Kilo, Mega, Milli), and rows can be sorted
2163         by each column. Time and memory results are separated into two tabs.
2164
2165         * resources/jquery.tablesorter.min.js: Added.
2166         * resources/results-template.html:
2167
2168 2012-09-14  Ryosuke Niwa  <rniwa@webkit.org>
2169
2170         Use performance.webkitNow in PerfTestRunner
2171         https://bugs.webkit.org/show_bug.cgi?id=92826
2172
2173         Reviewed by Eric Seidel.
2174
2175         Use performance.webkitNow with Date.now as a fallback for more accurate time measurements.
2176
2177         * resources/runner.js:
2178         (PerfTestRunner._runner):
2179         (PerfTestRunner._perSecondRunnerIterator):
2180
2181 2012-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2182
2183         Unreviewed, rolling out r128562.
2184         http://trac.webkit.org/changeset/128562
2185         https://bugs.webkit.org/show_bug.cgi?id=96747
2186
2187         It broke perf tests on Qt and Chromium (Requested by Ossy on
2188         #webkit).
2189
2190         * resources/runner.js:
2191         (PerfTestRunner._runner):
2192         (PerfTestRunner._perSecondRunnerIterator):
2193
2194 2012-09-14  Ryosuke Niwa  <rniwa@webkit.org>
2195
2196         Use performance.webkitNow in PerfTestRunner
2197         https://bugs.webkit.org/show_bug.cgi?id=92826
2198
2199         Reviewed by Eric Seidel.
2200
2201         Use performance.webkitNow with Date.now as a fallback for more acurate time measurements.
2202
2203         * resources/runner.js:
2204         (PerfTestRunner._runner):
2205         (PerfTestRunner._perSecondRunnerIterator):
2206
2207 2012-08-23  Ilya Tikhonovsky  <loislo@chromium.org>
2208
2209         WebInspector: unreviewed single line test fix.
2210
2211         The test has to open profiles panel explicitly because it is creating lazily.
2212
2213         * inspector/heap-snapshot-performance-test.js:
2214
2215 2012-08-15  Scott Graham  <scottmg@chromium.org>
2216
2217         Rename window.internals.fastMallocStatistics to mallocStatistics
2218         https://bugs.webkit.org/show_bug.cgi?id=94033
2219
2220         Reviewed by Adam Barth.
2221
2222         * resources/runner.js:
2223         (PerfTestRunner.storeHeapResults):
2224         (PerfTestRunner.getUsedMallocHeap):
2225         (PerfTestRunner.getAndPrintMemoryStatistics):
2226         (PerfTestRunner.initAndStartLoop):
2227
2228 2012-08-10  Ryosuke Niwa  <rniwa@webkit.org>
2229
2230         Unreviewed; fix an insanely silly typo.
2231
2232         * resources/results-template.html:
2233
2234 2012-08-09  Ryosuke Niwa  <rniwa@webkit.org>
2235
2236         Another build fix after r125178.
2237
2238         * resources/runner.js:
2239
2240 2012-08-09  Zoltan Horvath  <zoltan@webkit.org>
2241
2242         Add memory measurement to balls.html and dromaeorunner.js
2243         https://bugs.webkit.org/show_bug.cgi?id=93617
2244
2245         Reviewed by Adam Barth.
2246
2247         Since we added memory measurement support to performance tests we need to modify these tests.
2248
2249         * Animation/balls.html:
2250         * Dromaeo/resources/dromaeorunner.js:
2251
2252 2012-08-09  Zoltan Horvath  <zoltan@webkit.org>
2253
2254         JSHeap and FastMallocStatistics based memory measurement for performance-tests
2255         https://bugs.webkit.org/show_bug.cgi?id=90858
2256
2257         Reviewed Ryosuke Niwa.
2258
2259         Measure the memory usage of the performancetests with the help of the windows.memory.usedJSHeapSize
2260         object and the window.internals.fastMallocStatistics() function call.
2261
2262         * resources/runner.js:
2263         (PerfTestRunner.logStatistics):
2264         (PerfTestRunner.printStatistics):
2265         (PerfTestRunner.storeHeapResults):
2266         (PerfTestRunner.getUsedFastMallocHeap):
2267         (PerfTestRunner.getUsedJSHeap):
2268         (PerfTestRunner.getAndPrintMemoryStatistics):
2269         (PerfTestRunner.ignoreWarmUpAndLog):
2270         (PerfTestRunner.initAndStartLoop):
2271
2272 2012-08-08  Benjamin Poulain  <benjamin@webkit.org>
2273
2274         Calling internals from the performance test runner prevents manual running
2275         https://bugs.webkit.org/show_bug.cgi?id=93527
2276
2277         Reviewed by Ryosuke Niwa.
2278
2279         Since r125065, it is impossible to run the Performance tests manually. The problem is
2280         "internals" is not defined when running outside the test runner, so the whole script
2281         evaluation fails.
2282
2283         * resources/runner.js: Verify is window.internals is available before invoking something on it.
2284
2285 2012-08-08  Zoltan Horvath  <zoltan@webkit.org>
2286
2287         Set access to MemoryInfo enabled for the performance tests
2288         https://bugs.webkit.org/show_bug.cgi?id=92498
2289
2290         Reviewed by Ryosuke Niwa.
2291
2292         We need access to console.memory for the memory measurements.
2293
2294         * resources/runner.js:
2295
2296 2012-08-07  Ryosuke Niwa  <rniwa@webkit.org>
2297
2298         run-perf-tests should support --no-show-results
2299         https://bugs.webkit.org/show_bug.cgi?id=93409
2300
2301         Reviewed by Dirk Pranke.
2302
2303         Add a flot as a separate file and load it as an external resource.
2304
2305         Also include scripts as external resources from both local filesystem and webkit.org
2306         so that it continues to work regardless of where you put it.
2307
2308         It breaks when someone else receives the file and save it somewhere and doesn't have
2309         a network connection but that seems like a scenario we don't care that much.
2310
2311         * resources/jquery.flot.min.js: Added.
2312         * resources/results-template.html:
2313
2314 2012-08-06  Ryosuke Niwa  <rniwa@webkit.org>
2315
2316         run-webkit-tests should have ability to add description to its JSON output
2317         https://bugs.webkit.org/show_bug.cgi?id=93296
2318
2319         Reviewed by Dirk Pranke.
2320
2321         Parse description and show it with the WebKit revision on the results page. Also use bar graphs
2322         instead of line graphs since we're not depicting the time series here per arv's suggestion.
2323         Finally, add the ability to adjust y-axis between the adjusted value and 0 (plot even doesn't adjust
2324         y-axis automatically now) by a mouse click.
2325
2326         * resources/results-template.html:
2327
2328 2012-08-04  Ryosuke Niwa  <rniwa@webkit.org>
2329
2330         Use testRunner instead of layoutTestController in performance tests
2331         https://bugs.webkit.org/show_bug.cgi?id=93184
2332
2333         Reviewed by Adam Barth.
2334
2335         * Animation/balls.html:
2336         * Dromaeo/resources/dromaeorunner.js:
2337         * inspector/console-300-lines.html:
2338         * inspector/inspector-startup-time.html:
2339         * inspector/network-append-30-requests.html.broken:
2340         * inspector/show-panel.html.broken:
2341         * resources/runner.js:
2342         (PerfTestRunner.logInfo):
2343         (PerfTestRunner.initAndStartLoop):
2344
2345 2012-08-02  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2346
2347         TypedArray set method is slow when called with another typed array
2348         https://bugs.webkit.org/show_bug.cgi?id=92556
2349
2350         Reviewed by Kenneth Russell.
2351
2352         * Bindings/typed-array-set-from-typed.html: Added.
2353
2354 2012-07-28  Ryosuke Niwa  <rniwa@webkit.org>
2355
2356         run-perf-tests should generate a results page
2357         https://bugs.webkit.org/show_bug.cgi?id=92575
2358
2359         Reviewed by Eric Seidel.
2360
2361         Add a results page template. This page includes flot and flot.fillbetween.
2362         jQuery and the json that contains test results are injected by run-perf-tests.
2363
2364         * resources/results-template.html: Added.
2365
2366 2012-07-27  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2367
2368         use createUninitialized when creating TypedArray from another array
2369         https://bugs.webkit.org/show_bug.cgi?id=92518
2370
2371         Reviewed by Kenneth Russell.
2372
2373         * Bindings/typed-array-construct-from-array.html: Added.
2374
2375 2012-07-27  Ryosuke Niwa  <rniwa@webkit.org>
2376
2377         Add more Russian replay performance tests
2378         https://bugs.webkit.org/show_bug.cgi?id=92462
2379
2380         Reviewed by Tony Chang.
2381
2382         Add more Russian sites as suggested by loislo.
2383
2384         * Replay/Russian/lenta.ru.replay: Added.
2385         * Replay/Russian/www.ixbt.com.replay: Added.
2386         * Replay/Russian/www.kp.ru.replay: Added.
2387         * Replay/Russian/www.liveinternet.ru.replay: Added.
2388         * Replay/Russian/www.pravda.ru.replay: Added.
2389
2390 2012-07-26  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2391
2392         constructing TypedArray from another TypedArray is slow
2393         https://bugs.webkit.org/show_bug.cgi?id=90838
2394
2395         Reviewed by Kenneth Russell.
2396
2397         * Bindings/typed-array-construct-from-same-type.html: Added.
2398         * Bindings/typed-array-construct-from-typed.html: Added.
2399
2400 2012-07-25  Ryosuke Niwa  <rniwa@webkit.org>
2401
2402         Import more replay performance tests from Mozilla's Tp5 test suite
2403         https://bugs.webkit.org/show_bug.cgi?id=92229
2404
2405         Reviewed by Andreas Kling.
2406
2407         Add more replay tests based on Mozilla's Tp5 test suite [1]. Unfortunately,
2408         we cannot import all URLs because some of them are not archived on archive.org
2409         and others do not replay well on web-page-replay. Nonethless, we're still adding
2410         60+ URLs in this patch.
2411
2412         [1] http://people.mozilla.org/~jmaher/tp5.manifest
2413
2414         * Replay/Chinese: Added.
2415         * Replay/Chinese/chinaz.com.replay: Added.
2416         * Replay/Chinese/www.163.com.replay: Added.
2417         * Replay/Chinese/www.alipay.com.replay: Added.
2418         * Replay/Chinese/www.baidu.com.replay: Added.
2419         * Replay/Chinese/www.csdn.net.replay: Added.
2420         * Replay/Chinese/www.douban.com.replay: Added.
2421         * Replay/Chinese/www.hao123.com.replay: Added.
2422         * Replay/Chinese/www.xinhuanet.com.replay: Added.
2423         * Replay/Chinese/www.xunlei.com.replay: Added.
2424         * Replay/Chinese/www.youku.com.replay: Added.
2425         * Replay/English: Added.
2426         * Replay/English/beatonna.livejournal.com.replay: Added.
2427         * Replay/English/cakewrecks.blogspot.com.replay: Added.
2428         * Replay/English/chemistry.about.com.replay: Added.
2429         * Replay/English/digg.com.replay: Added.
2430         * Replay/English/en.wikipedia.org-rorschach_test.replay: Added.
2431         * Replay/English/icanhascheezburger.com.replay: Added.
2432         * Replay/English/imgur.com-gallery.replay: Added.
2433         * Replay/English/online.wsj.com.replay: Added.
2434         * Replay/English/stockoverflow.com-best-comment.replay: Added.
2435         * Replay/English/www.alibaba.com.replay: Added.
2436         * Replay/English/www.amazon.com-kindle.replay: Added.
2437         * Replay/English/www.apple.com.replay: Added.
2438         * Replay/English/www.cnet.com.replay: Added.
2439         * Replay/English/www.dailymotion.com.replay: Added.
2440         * Replay/English/www.ehow.com-prevent-fire.replay: Added.
2441         * Replay/English/www.filestube.com-amy-adams.replay: Added.
2442         * Replay/English/www.foxnews.replay: Added.
2443         * Replay/English/www.huffingtonpost.com.replay: Added.
2444         * Replay/English/www.imdb.com-twilight.replay: Added.
2445         * Replay/English/www.mozilla.com-all-order.replay: Added.
2446         * Replay/English/www.php.net.replay: Added.
2447         * Replay/English/www.reddit.com.replay: Added.
2448         * Replay/English/www.telegraph.co.uk.replay: Added.
2449         * Replay/English/www.w3.org-htmlcss.replay: Added.
2450         * Replay/English/www.w3schools.com-html.replay: Added.
2451         * Replay/English/www.youtube.com-music.replay: Added.
2452         * Replay/French: Added.
2453         * Replay/French/www.orange.fr.replay: Added.
2454         * Replay/German: Added.
2455         * Replay/Italian: Added.
2456         * Replay/Italian/www.repubblica.it.replay: Added.
2457         * Replay/Japanese/entameblog.seesaa.net.replay: Added.
2458         * Replay/Japanese/www.hatena.ne.jp.replay: Added.
2459         * Replay/Japanese/www.nicovideo.jp.replay: Added.
2460         * Replay/Korean: Added.
2461         * Replay/Korean/www.naver.com.replay: Added.
2462         * Replay/Persian: Added.
2463         * Replay/Persian/blogfa.com.replay: Added.
2464         * Replay/Polish: Added.
2465         * Replay/Polish/www.wp.pl.replay: Added.
2466         * Replay/Portuguese: Added.
2467         * Replay/Portuguese/www.uol.com.br.replay: Added.
2468         * Replay/Russian: Added.
2469         * Replay/Russian/vkontakte.ru-help.replay: Added.
2470         * Replay/Russian/www.rambler.ru.replay: Added.
2471         * Replay/Russian/www.ucoz.ru.replay: Added.
2472         * Replay/Russian/www.yandex.ru.replay: Added.
2473         * Replay/Spanish: Added.
2474         * Replay/Spanish/www.taringa.net.replay: Added.
2475
2476 2012-07-24  Ryosuke Niwa  <rniwa@webkit.org>
2477
2478         Add some Japanese and Swedish websites to replay tests
2479         https://bugs.webkit.org/show_bug.cgi?id=92076
2480
2481         Reviewed by Andreas Kling.
2482
2483         Added new replay tests as follows.
2484
2485         * Replay/Japanese: Added.
2486         * Replay/Japanese/2ch.net-newsplus.replay: Added.
2487         * Replay/Japanese/ja.wikipedia.org.replay: Added.
2488         * Replay/Japanese/www.livedoor.com.replay: Added.
2489         * Replay/Japanese/www.rakuten.co.jp.replay: Added.
2490         * Replay/Japanese/www.yahoo.co.jp.replay: Added.
2491         * Replay/Swedish: Added.
2492         * Replay/Swedish/www.flashback.se.replay: Added.
2493         * Replay/Swedish/www.tradera.com.replay: Added.
2494         * Replay/www.techcrunch.com.replay: Added.
2495
2496 2012-07-18  MORITA Hajime  <morrita@google.com>
2497
2498         Add window resize benchmark
2499         https://bugs.webkit.org/show_bug.cgi?id=91070
2500
2501         Reviewed by Ryosuke Niwa.
2502
2503         Added window-resize.html which exercise html5.html. This test
2504         resizes the window and forces re-layout repeatedly.
2505
2506         * Interactive/resources/window-resize.js: Added.
2507         * Interactive/window-resize.html: Added.
2508         * Parser/resources/html5.html: Modified to inject driver scripts.
2509
2510 2012-07-11  Philip Rogers  <pdr@google.com>
2511
2512         Add a performance test for hit testing in SVG
2513         https://bugs.webkit.org/show_bug.cgi?id=90811
2514
2515         Reviewed by Ryosuke Niwa.
2516
2517         The shape rendering code is changing a lot and I'd like a performance test to
2518         make sure we don't regress, and to track our improvements.
2519
2520         Performance results in my Linux desktop:
2521             RESULT SVG: SvgHitTesting= 105.0 ms
2522             median= 103.5 ms, stdev= 4.60434577329 ms, min= 101.0 ms, max= 116.0 ms
2523
2524             RESULT SVG: SvgHitTesting= 97.8 ms
2525             median= 96.5 ms, stdev= 2.67581763205 ms, min= 95.0 ms, max= 102.0 ms
2526
2527             RESULT SVG: SvgHitTesting= 104.3 ms
2528             median= 104.0 ms, stdev= 1.41774468788 ms, min= 102.0 ms, max= 107.0 ms
2529
2530             RESULT SVG: SvgHitTesting= 103.6 ms
2531             median= 103.5 ms, stdev= 1.2 ms, min= 102.0 ms, max= 106.0 ms
2532
2533         * SVG/SvgHitTesting.html: Added.
2534
2535 2012-07-03  Jan Keromnes  <janx@linux.com>
2536
2537         Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
2538         https://bugs.webkit.org/show_bug.cgi?id=89939
2539
2540         Reviewed by Vsevolod Vlasov.
2541
2542         * inspector/first-open-scripts.html.broken:
2543
2544 2012-06-22  Philip Rogers  <pdr@google.com>
2545
2546         Make SvgCubics performance test more consistent
2547         https://bugs.webkit.org/show_bug.cgi?id=89778
2548
2549         Reviewed by Ryosuke Niwa.
2550
2551         Previously this test ran twice for each iteration, but this led to inconsistent repaints.
2552         This change updates the test to only run once per iteration, and adds even more cubics
2553         so that the test runs consistently in the 80ms range on my Linux desktop.
2554
2555         Performance results on my desktop:
2556             RESULT SVG: SvgCubics= 80.5 ms
2557             median= 82.0 ms, stdev= 3.04138126515 ms, min= 75.0 ms, max= 85.0 ms
2558
2559             RESULT SVG: SvgCubics= 80.1 ms
2560             median= 81.0 ms, stdev= 4.27668095607 ms, min= 74.0 ms, max= 88.0 ms
2561
2562             RESULT SVG: SvgCubics= 81.45 ms
2563             median= 83.0 ms, stdev= 4.01839520207 ms, min= 75.0 ms, max= 89.0 ms
2564
2565             RESULT SVG: SvgCubics= 78.9 ms
2566             median= 80.0 ms, stdev= 4.75289385533 ms, min= 72.0 ms, max= 87.0 ms
2567
2568         * SVG/SvgCubics.html:
2569
2570 2012-06-22  Ilya Tikhonovsky  <loislo@chromium.org>
2571
2572         Web Inspector: partially instrument DOM Tree native memory.
2573         https://bugs.webkit.org/show_bug.cgi?id=89568
2574
2575         This patch adds MemoryInstrumentation class that counts all visited
2576         objects and calls reportMemoryUsage.
2577
2578         Reviewed by Yury Semikhatsky.
2579
2580         * inspector/native-memory-snapshot.html:
2581
2582 2012-06-21  Kentaro Hara  <haraken@chromium.org>
2583
2584         Add a perf-test for innerHTML setter for a large DOM tree
2585         https://bugs.webkit.org/show_bug.cgi?id=89723
2586
2587         Reviewed by Ryosuke Niwa.
2588
2589         We want a benchmark for innerHTML setter for the following reason:
2590
2591         - innerHTML setter is widely used in the real world.
2592         - I am planning to optimize innerHTML setter in the near future.
2593         - I want to use the innerHTML setter benchmark for the patch of bug 88834.
2594
2595         Performance results in my Linux desktop:
2596
2597         RESULT Parser: innerHTML-setter= 289.782649995 runs/s
2598         median= 290.046269741 runs/s, stdev= 1.06575112224 runs/s, min= 286.831812256 runs/s, max= 291.005291005 runs/s
2599
2600         RESULT Parser: innerHTML-setter= 289.020706132 runs/s
2601         median= 289.093298292 runs/s, stdev= 0.985203313093 runs/s, min= 286.831812256 runs/s, max= 290.620871863 runs/s
2602
2603         RESULT Parser: innerHTML-setter= 288.912051701 runs/s
2604         median= 291.005291005 runs/s, stdev= 3.65241325588 runs/s, min= 283.505154639 runs/s, max= 292.553191489 runs/s
2605
2606         RESULT Parser: innerHTML-setter= 288.644186666 runs/s
2607         median= 288.713910761 runs/s, stdev= 1.31889053717 runs/s, min= 286.085825748 runs/s, max= 290.620871863 runs/s
2608
2609         RESULT Parser: innerHTML-setter= 288.698714577 runs/s
2610         median= 288.713910761 runs/s, stdev= 1.03938198202 runs/s, min= 286.458333333 runs/s, max= 290.237467018 runs/s
2611
2612         * Parser/innerHTML-setter.html: Added.
2613
2614 2012-06-20  Philip Rogers  <pdr@google.com>
2615
2616         Add a performance test for paths in SVG
2617         https://bugs.webkit.org/show_bug.cgi?id=89547
2618
2619         Reviewed by Ryosuke Niwa.
2620
2621         This change adds the first performance test for SVG paths.
2622         In the test we modify complex cubic paths in several ways, testing:
2623         transformations, clipping, d attribute changes, stroke properties,
2624         text on a path, and opacity.
2625
2626         Sample test results on my Linux desktop:
2627             RESULT SVG: SvgCubics= 68.85 ms
2628             median= 69.5 ms, stdev= 4.70398767005 ms, min= 56.0 ms, max= 75.0 ms
2629
2630             RESULT SVG: SvgCubics= 68.4 ms
2631             median= 69.0 ms, stdev= 3.51283361405 ms, min= 59.0 ms, max= 74.0 ms
2632
2633             RESULT SVG: SvgCubics= 66.95 ms
2634             median= 67.0 ms, stdev= 3.4420197559 ms, min= 59.0 ms, max= 74.0 ms
2635
2636             RESULT SVG: SvgCubics= 70.2 ms
2637             median= 71.5 ms, stdev= 3.23419232576 ms, min= 63.0 ms, max= 74.0 ms
2638
2639         * SVG: Added.
2640         * SVG/SvgCubics.html: Added.
2641
2642 2012-06-20  Tom Zakrajsek  <tomz@codeaurora.org>
2643
2644         Import themaninblue.com/experiment/AnimationBenchmark/ as performance tests
2645         https://bugs.webkit.org/show_bug.cgi?id=78789
2646
2647         Reviewed by Ryosuke Niwa.
2648
2649         Added PerfTestRunner fixture around it.
2650
2651         * Animation/balls.html: Added.
2652
2653 2012-06-18  Ilya Tikhonovsky  <loislo@chromium.org>
2654
2655         Web Inspector: native memory snapshot performance and coverage test implementation.
2656         https://bugs.webkit.org/show_bug.cgi?id=89363
2657
2658         We have to track the performance of MemoryAgent.getProcessMemoryDistribution.
2659         Also this test will work as a burn down chart for Unknown memory metric.
2660
2661         Reviewed by Pavel Feldman.
2662
2663         * inspector/native-memory-snapshot.html: Added.
2664         * inspector/performance-test.js:
2665         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer):
2666         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.reportSize):
2667         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
2668         (initialize_TimeTracker.InspectorTest.runPerformanceTest):
2669
2670 2012-06-05  Alexei Filippov  <alexeif@chromium.org>
2671
2672         Web Inspector: serialize edge counts instead of indexes in heap snapshot
2673         https://bugs.webkit.org/show_bug.cgi?id=88324
2674
2675         The serialized node structure currently holds an index
2676         of its first containment edge in the edges array.
2677         The index can be quite big (up to 7 digits for large snapshots).
2678         The patch changes the serialization format to pass
2679         node containment edge count instead. For most nodes the count
2680         is just a single digit number.
2681         This reduces serialized snapshot size and therefore its transfer time.
2682
2683         Reviewed by Yury Semikhatsky.
2684
2685         * inspector/heap-snapshot-performance-test.js:
2686
2687 2012-06-04  Alexei Filippov  <alexeif@chromium.org>
2688
2689         Web Inspector: speed up _calculateRetainedSizes function
2690         https://bugs.webkit.org/show_bug.cgi?id=87863
2691
2692         Reviewed by Yury Semikhatsky.
2693
2694         * inspector/heap-snapshot-advanced.html: Added.
2695         * inspector/heap-snapshot-performance-test.js: Copied from PerformanceTests/inspector/heap-snapshot.html.
2696         (test.performanceTest.step0):
2697         (test.performanceTest.step1):
2698         (test.performanceTest.step2):
2699         (test.performanceTest.cleanup):
2700         (test.performanceTest.done):
2701         (test.performanceTest):
2702         (test):
2703         * inspector/heap-snapshot.html:
2704
2705 2012-06-03  Kentaro Hara  <haraken@chromium.org>
2706
2707         [perf-test] Add a benchmark of querySelector() for an element that appears in the depths in the document
2708         https://bugs.webkit.org/show_bug.cgi?id=88202
2709
2710         Reviewed by Ryosuke Niwa.
2711
2712         query-selector-first.html tests querySelector() for an element
2713         that appears at the head of the document. query-selector-last.html
2714         tests querySelector() for an element that appears at the tail of
2715         the document. In addition, we want a benchmark of querySelector()
2716         for an element that appears in the depths in the document.
2717
2718         Test results in my Linux desktop:
2719
2720         RESULT Parser: query-selector-deep= 460.776980611 runs/s
2721         median= 460.947503201 runs/s, stdev= 1.72274941942 runs/s, min= 455.696202532 runs/s, max= 463.32046332 runs/s
2722
2723         RESULT Parser: query-selector-deep= 458.925050915 runs/s
2724         median= 459.183673469 runs/s, stdev= 1.47930124139 runs/s, min= 454.545454545 runs/s, max= 460.947503201 runs/s
2725
2726         RESULT Parser: query-selector-deep= 461.866981491 runs/s
2727         median= 461.538461538 runs/s, stdev= 1.14613123359 runs/s, min= 459.183673469 runs/s, max= 463.917525773 runs/s
2728
2729         RESULT Parser: query-selector-deep= 453.922010788 runs/s
2730         median= 454.258855898 runs/s, stdev= 1.77279123317 runs/s, min= 447.204968944 runs/s, max= 455.696202532 runs/s
2731
2732         RESULT Parser: query-selector-deep= 454.666321221 runs/s
2733         median= 454.545454545 runs/s, stdev= 1.65775667417 runs/s, min= 451.127819549 runs/s, max= 456.852791878 runs/s
2734
2735         * Parser/query-selector-deep.html: Added.
2736
2737 2012-06-03  Kentaro Hara  <haraken@chromium.org>
2738
2739         [perf-test] Make query-selector-last.html more realistic
2740         https://bugs.webkit.org/show_bug.cgi?id=88203
2741
2742         Reviewed by Ryosuke Niwa.
2743
2744         query-selector-last.html tests querySelector() for an element
2745         that appears after 1000 div elements, all of which have the same
2746         id and class. To test the performance of querySelector() under
2747         a lot of ids and classes, we should make the ids and classes of
2748         the 1000 elements different.
2749
2750         This patch degrades the performance of query-selector-last.html
2751         by 3.6%.
2752
2753         [Before]
2754         RESULT Parser: query-selector-last= 476.382274152 runs/s
2755         median= 476.821192053 runs/s, stdev= 1.14578875814 runs/s, min= 474.308300395 runs/s, max= 478.087649402 runs/s
2756
2757         RESULT Parser: query-selector-last= 478.423061861 runs/s
2758         median= 478.723404255 runs/s, stdev= 1.54876867255 runs/s, min= 473.684210526 runs/s, max= 481.347773767 runs/s
2759
2760         RESULT Parser: query-selector-last= 479.849287174 runs/s
2761         median= 480.0 runs/s, stdev= 1.69849752498 runs/s, min= 475.561426684 runs/s, max= 481.927710843 runs/s
2762
2763         RESULT Parser: query-selector-last= 476.765438846 runs/s
2764         median= 477.453580902 runs/s, stdev= 1.8724488664 runs/s, min= 471.821756225 runs/s, max= 478.723404255 runs/s
2765
2766         RESULT Parser: query-selector-last= 481.715340644 runs/s
2767         median= 481.637742305 runs/s, stdev= 1.81446361145 runs/s, min= 475.561426684 runs/s, max= 483.675937122 runs/s
2768
2769         [After]
2770         RESULT Parser: query-selector-last= 458.866623582 runs/s
2771         median= 459.183673469 runs/s, stdev= 1.48881464737 runs/s, min= 453.972257251 runs/s, max= 460.947503201 runs/s
2772
2773         RESULT Parser: query-selector-last= 460.363532897 runs/s
2774         median= 460.358056266 runs/s, stdev= 1.58512056995 runs/s, min= 456.273764259 runs/s, max= 462.130937099 runs/s
2775
2776         RESULT Parser: query-selector-last= 457.727448451 runs/s
2777         median= 458.015267176 runs/s, stdev= 1.23681915516 runs/s, min= 453.972257251 runs/s, max= 459.183673469 runs/s
2778
2779         RESULT Parser: query-selector-last= 465.57336853 runs/s
2780         median= 465.717981889 runs/s, stdev= 1.6616925374 runs/s, min= 460.947503201 runs/s, max= 467.532467532 runs/s
2781
2782         RESULT Parser: query-selector-last= 459.836252019 runs/s
2783         median= 459.770114943 runs/s, stdev= 1.84485630505 runs/s, min= 455.696202532 runs/s, max= 462.724935733 runs/s
2784
2785         * Parser/query-selector-last.html:
2786
2787 2012-06-01  Ryosuke Niwa  <rniwa@webkit.org>
2788
2789         Add public page loading performance tests using web-page-replay
2790         https://bugs.webkit.org/show_bug.cgi?id=84008
2791
2792         Reviewed by Dirk Pranke.
2793
2794         Add replay tests for google.com and youtube.com as examples.
2795
2796         * Replay: Added.
2797         * Replay/www.google.com.replay: Added.
2798         * Replay/www.youtube.com.replay: Added.
2799
2800 2012-05-30  Kentaro Hara  <haraken@chromium.org>
2801
2802         [perf-test] Add a benchmark for querySelector()
2803         https://bugs.webkit.org/show_bug.cgi?id=87742
2804
2805         Reviewed by Ryosuke Niwa.
2806
2807         Now I am optimizing querySelector() (bug 87625).
2808         This patch adds a performance test for querySelector().
2809         query-selector-first.html queries an element that appears
2810         at the head of the document. On the other hand,
2811         query-selector-last.html queries an element that appears
2812         at the tail of the document.
2813
2814         Test results in my desktop:
2815
2816         [query-selector-first.html]
2817         RESULT Parser: query-selector-first= 252.339803014 runs/s
2818         median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s
2819
2820         RESULT Parser: query-selector-first= 252.688468897 runs/s
2821         median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s
2822
2823         RESULT Parser: query-selector-first= 253.466019656 runs/s
2824         median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s
2825
2826         RESULT Parser: query-selector-first= 256.245078189 runs/s
2827         median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s
2828
2829         RESULT Parser: query-selector-first= 252.203100497 runs/s
2830         median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s
2831
2832         [query-selector-last.html]
2833         RESULT Parser: query-selector-last= 356.009616076 runs/s
2834         median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s
2835
2836         RESULT Parser: query-selector-last= 360.735271001 runs/s
2837         median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s
2838
2839         RESULT Parser: query-selector-last= 359.598592463 runs/s
2840         median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s
2841
2842         RESULT Parser: query-selector-last= 357.260651715 runs/s
2843         median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s
2844
2845         RESULT Parser: query-selector-last= 351.696240713 runs/s
2846         median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s
2847
2848         * Parser/query-selector-first.html: Added.
2849         * Parser/query-selector-last.html: Added.
2850
2851 2012-05-25  Ilya Tikhonovsky  <loislo@chromium.org>
2852
2853         Web Inspector: HeapSnapshot: introduce performance counter for HeapSnapshotConstructorsDataGrid._aggregatesReceived method.
2854         https://bugs.webkit.org/show_bug.cgi?id=87393
2855
2856         Reviewed by Yury Semikhatsky.
2857
2858         * inspector/heap-snapshot.html:
2859
2860 2012-05-25  Ilya Tikhonovsky  <loislo@chromium.org>
2861
2862         Web Inspector: HeapProfiler's perf test: each N-th run pushes the run results N-th times.
2863         https://bugs.webkit.org/show_bug.cgi?id=87476
2864
2865         The time tracking wrappers were attaching on each run.
2866
2867         Reviewed by Yury Semikhatsky.
2868
2869         * inspector/heap-snapshot.html:
2870
2871 2012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>
2872
2873         Web Inspector: HeapProfiler: upstream retainedSize calculation.
2874         https://bugs.webkit.org/show_bug.cgi?id=87107
2875
2876         This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end.
2877         After that we will be able to drop retainedSize field from the snapshot serialized data.
2878         See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089
2879
2880         Reviewed by Yury Semikhatsky.
2881
2882         * inspector/heap-snapshot.html: add counter for the _calculateRetainedSize method.
2883
2884 2012-05-21  Kent Tamura  <tkent@chromium.org>
2885
2886         Add performance tests for <textarea>
2887         https://bugs.webkit.org/show_bug.cgi?id=86994
2888
2889         Reviewed by Ryosuke Niwa.
2890
2891         * DOM/textarea-dom.html: Added.
2892         * DOM/textarea-edit.html: Added.
2893         * Parser/textarea-parsing.html: Added.
2894
2895 2012-05-18  Ilya Tikhonovsky  <loislo@chromium.org>
2896
2897         Web Inspector: upstream build dominators tree procedure from v8.
2898         https://bugs.webkit.org/show_bug.cgi?id=86640
2899
2900         The idea is to reduce transfer size and move all the post-processing steps to the front-end.
2901         The JS implementation is ~1.5 times slower.
2902
2903         Reviewed by Yury Semikhatsky.
2904
2905         Covered by existing tests and performance tests.
2906
2907         * inspector/heap-snapshot.html:
2908
2909 2012-05-18  Kentaro Hara  <haraken@chromium.org>
2910
2911         [perf-test] Remove Bindings/dom-attributes.html
2912         https://bugs.webkit.org/show_bug.cgi?id=86820
2913
2914         Reviewed by Ryosuke Niwa.
2915
2916         Bindings/dom-attributes.html is just a collection of random
2917         DOM attributes and methods. Now we've added more reasonable
2918         micro benchmarks by classifying DOM binding call paths, we
2919         can remove Bindings/dom-attributes.html.
2920
2921         * Bindings/dom-attributes.html: Removed.
2922
2923 2012-05-18  Kentaro Hara  <haraken@chromium.org>
2924
2925         [perf-test] Add a binding benchmark for getElementById() for an undefined id
2926         https://bugs.webkit.org/show_bug.cgi?id=86812
2927
2928         Reviewed by Ryosuke Niwa.
2929
2930         We should remove Bindings/dom-attributes.html and instead add more
2931         reasonable micro benchmarks by classifying DOM binding call paths.
2932
2933         This patch adds a benchmark for document.getElementById() for an undefined id.
2934         This benchmark covers 'getElementById (not in document)' in Dromaeo/dom-query.html,
2935         and other Node-query methods that return a null.'
2936
2937         (Note: This benchmark is slower than document.getElementById() for a defined id.
2938         We will fix the performance issue soon.)
2939
2940         Test results in my Linux desktop:
2941
2942         RESULT Bindings: undefined-get-element-by-id= 271.945751345 runs/s
2943         median= 273.122389532 runs/s, stdev= 6.78219237299 runs/s, min= 257.4002574 runs/s, max= 281.690140845 runs/s
2944
2945         RESULT Bindings: undefined-get-element-by-id= 269.105872408 runs/s
2946         median= 268.948655257 runs/s, stdev= 5.73707323755 runs/s, min= 257.4002574 runs/s, max= 278.128950695 runs/s
2947
2948         RESULT Bindings: undefined-get-element-by-id= 269.987513372 runs/s
2949         median= 272.952853598 runs/s, stdev= 5.30252336078 runs/s, min= 255.754475703 runs/s, max= 273.97260274 runs/s
2950
2951         RESULT Bindings: undefined-get-element-by-id= 270.169625901 runs/s
2952         median= 271.604938272 runs/s, stdev= 5.29502391906 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s
2953
2954         RESULT Bindings: undefined-get-element-by-id= 269.054631422 runs/s
2955         median= 267.966292802 runs/s, stdev= 6.27197240579 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s
2956
2957         * Bindings/undefined-get-element-by-id.html: Added.
2958
2959 2012-05-18  Kentaro Hara  <haraken@chromium.org>
2960
2961         [perf-test] Add a binding benchmark for getElementsByTagName()
2962         https://bugs.webkit.org/show_bug.cgi?id=86810
2963
2964         Reviewed by Ryosuke Niwa.
2965
2966         We should remove Bindings/dom-attributes.html and instead add more
2967         reasonable micro benchmarks by classifying DOM binding call paths.
2968
2969         This patch adds a benchmark for document.getElementsByTagName().
2970         This benchmark covers 'getElementsByTagName (not in document)',
2971         'getElementsByTagName', 'getElementsByName (not in document)'
2972         and 'getElementsByName' in Dromaeo/dom-query.html, and other DOM
2973         methods that return a NodeList.
2974
2975         Test results in my Linux desktop:
2976
2977         RESULT Bindings: get-elements-by-tag-name= 364.542328875 runs/s
2978         median= 366.972477064 runs/s, stdev= 5.25387955333 runs/s, min= 351.317440402 runs/s, max= 368.421052632 runs/s
2979
2980         RESULT Bindings: get-elements-by-tag-name= 364.341569369 runs/s
2981         median= 366.492146597 runs/s, stdev= 4.867374197 runs/s, min= 352.644836272 runs/s, max= 367.936925099 runs/s
2982
2983         RESULT Bindings: get-elements-by-tag-name= 363.924242967 runs/s
2984         median= 366.013071895 runs/s, stdev= 5.16768212289 runs/s, min= 351.317440402 runs/s, max= 367.936925099 runs/s
2985
2986         RESULT Bindings: get-elements-by-tag-name= 365.332594438 runs/s
2987         median= 367.454068241 runs/s, stdev= 6.17046918572 runs/s, min= 350.0 runs/s, max= 370.37037037 runs/s
2988
2989         RESULT Bindings: get-elements-by-tag-name= 363.999514324 runs/s
2990         median= 366.492146597 runs/s, stdev= 5.31235674905 runs/s, min= 350.877192982 runs/s, max= 368.421052632 runs/s
2991
2992         * Bindings/get-elements-by-tag-name.html: Added.
2993
2994 2012-05-18  Kentaro Hara  <haraken@chromium.org>
2995
2996         [perf-test] Add 7 micro benchmarks for DOM bindings
2997         https://bugs.webkit.org/show_bug.cgi?id=86816
2998
2999         Reviewed by Ryosuke Niwa.
3000
3001         We should remove Bindings/dom-attributes.html and instead add more
3002         reasonable micro benchmarks by classifying DOM binding call paths.
3003         This patch adds seven micro benchmarks for DOM bindings.
3004
3005         id-getter.html covers 'element.property' in Dromaeo/dom-attr.html,
3006         'innerHTML' in Dromaeo/dom-modify.html, and other DOM attributes that
3007         return a String.
3008
3009         id-setter.html covers 'element.property = value' in Dromaeo/dom-attr.html,
3010         and other DOM attributes that sets a String.
3011
3012         undefined-id-getter.html covers undefined DOM attributes that return an empty String.
3013
3014         append-child.html covers 'appendChild' and 'removeChild' in Dromaeo/dom-modify.html.
3015
3016         insert-before.html covers 'insertBefore' in Dromaeo/dom-modify.html and replaceChild().
3017
3018         create-element.html covers 'createElement', 'createTextNode' and 'cloneNode'
3019         in Dromaeo/dom-modify.html, and other DOM methods that return a new Node object.
3020
3021         node-list-access.html covers 'childNodes' in Dromaeo/dom-traverse.html,
3022         and other DOM attributes that access NodeList.
3023
3024         Test results in my Linux desktop:
3025
3026         [id-getter]
3027         RESULT Bindings: id-getter= 550.517821097 runs/s
3028         median= 550.688360451 runs/s, stdev= 0.970723739106 runs/s, min= 548.628428928 runs/s, max= 552.070263488 runs/s
3029
3030         RESULT Bindings: id-getter= 550.655839847 runs/s
3031         median= 550.688360451 runs/s, stdev= 1.03312821884 runs/s, min= 549.313358302 runs/s, max= 552.070263488 runs/s
3032
3033         RESULT Bindings: id-getter= 550.277753355 runs/s
3034         median= 550.344180225 runs/s, stdev= 1.19960683464 runs/s, min= 547.945205479 runs/s, max= 552.070263488 runs/s
3035
3036         RESULT Bindings: id-getter= 550.072271009 runs/s
3037         median= 550.344180225 runs/s, stdev= 1.38925152131 runs/s, min= 547.263681592 runs/s, max= 552.070263488 runs/s
3038
3039         RESULT Bindings: id-getter= 548.802050235 runs/s
3040         median= 548.628428928 runs/s, stdev= 1.18244513683 runs/s, min= 545.905707196 runs/s, max= 550.688360451 runs/s
3041
3042         [id-setter]
3043         RESULT Bindings: id-setter= 211.370591663 runs/s
3044         median= 210.803689065 runs/s, stdev= 1.4555795889 runs/s, min= 209.973753281 runs/s, max= 214.285714286 runs/s
3045
3046         RESULT Bindings: id-setter= 215.439081352 runs/s
3047         median= 214.797136038 runs/s, stdev= 1.50920388121 runs/s, min= 213.049267643 runs/s, max= 218.446601942 runs/s
3048
3049         RESULT Bindings: id-setter= 216.721698466 runs/s
3050         median= 215.956886352 runs/s, stdev= 1.54090749644 runs/s, min= 214.285714286 runs/s, max= 219.78021978 runs/s
3051
3052         RESULT Bindings: id-setter= 216.343019087 runs/s
3053         median= 215.827338129 runs/s, stdev= 1.46619894553 runs/s, min= 215.053763441 runs/s, max= 218.97810219 runs/s
3054
3055         RESULT Bindings: id-setter= 216.799288017 runs/s
3056         median= 215.956886352 runs/s, stdev= 1.49100776978 runs/s, min= 215.311004785 runs/s, max= 219.78021978 runs/s
3057
3058         [undefined-id-getter]
3059         RESULT Bindings: undefined-id-getter= 494.104255241 runs/s
3060         median= 494.132368875 runs/s, stdev= 1.13092821109 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s
3061
3062         RESULT Bindings: undefined-id-getter= 493.921802916 runs/s
3063         median= 493.827160494 runs/s, stdev= 1.25097443119 runs/s, min= 490.196078431 runs/s, max= 495.662949195 runs/s
3064
3065         RESULT Bindings: undefined-id-getter= 491.976485667 runs/s
3066         median= 492.004920049 runs/s, stdev= 0.947090576896 runs/s, min= 490.196078431 runs/s, max= 493.827160494 runs/s
3067
3068         RESULT Bindings: undefined-id-getter= 491.987710185 runs/s
3069         median= 494.132368875 runs/s, stdev= 8.66602543327 runs/s, min= 454.545454545 runs/s, max= 495.662949195 runs/s
3070
3071         RESULT Bindings: undefined-id-getter= 494.195515847 runs/s
3072         median= 494.437577256 runs/s, stdev= 1.06135681702 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s
3073
3074         [append-child]
3075         RESULT Bindings: append-child= 260.628237026 runs/s
3076         median= 260.926399352 runs/s, stdev= 2.55231060598 runs/s, min= 256.739409499 runs/s, max= 265.604249668 runs/s
3077
3078         RESULT Bindings: append-child= 280.796193436 runs/s
3079         median= 280.791435348 runs/s, stdev= 2.53961321867 runs/s, min= 277.427490542 runs/s, max= 286.085825748 runs/s
3080
3081         RESULT Bindings: append-child= 279.856209714 runs/s
3082         median= 280.25477707 runs/s, stdev= 2.85447647301 runs/s, min= 275.344180225 runs/s, max= 284.237726098 runs/s
3083
3084         RESULT Bindings: append-child= 280.834502714 runs/s
3085         median= 280.25477707 runs/s, stdev= 2.67738046429 runs/s, min= 277.427490542 runs/s, max= 287.206266319 runs/s
3086
3087         RESULT Bindings: append-child= 274.723872106 runs/s
3088         median= 273.291925466 runs/s, stdev= 3.03671746706 runs/s, min= 272.614622057 runs/s, max= 282.413350449 runs/s
3089
3090         [insert-before]
3091         RESULT Bindings: insert-before= 180.986913006 runs/s
3092         median= 180.878552972 runs/s, stdev= 0.758038687299 runs/s, min= 180.18018018 runs/s, max= 183.968462549 runs/s
3093
3094         RESULT Bindings: insert-before= 186.339916144 runs/s
3095         median= 186.170212766 runs/s, stdev= 0.869022097127 runs/s, min= 185.676392573 runs/s, max= 189.798339265 runs/s
3096
3097         RESULT Bindings: insert-before= 189.45344838 runs/s
3098         median= 189.349112426 runs/s, stdev= 0.811854866567 runs/s, min= 187.79342723 runs/s, max= 192.539109507 runs/s
3099
3100         RESULT Bindings: insert-before= 189.363295991 runs/s
3101         median= 189.349112426 runs/s, stdev= 0.75387713097 runs/s, min= 188.014101058 runs/s, max= 192.076830732 runs/s
3102
3103         RESULT Bindings: insert-before= 189.252041642 runs/s
3104         median= 189.349112426 runs/s, stdev= 0.840447225363 runs/s, min= 187.573270809 runs/s, max= 192.076830732 runs/s
3105
3106         [create-element]
3107         RESULT Bindings: create-element= 280.675830077 runs/s
3108         median= 280.701824914 runs/s, stdev= 0.788606343054 runs/s, min= 279.441117764 runs/s, max= 282.542885974 runs/s
3109
3110         RESULT Bindings: create-element= 276.427631436 runs/s
3111         median= 277.227722772 runs/s, stdev= 3.39874667549 runs/s, min= 262.417994377 runs/s, max= 279.162512463 runs/s
3112
3113         RESULT Bindings: create-element= 277.156894411 runs/s
3114         median= 277.227722772 runs/s, stdev= 1.13255119226 runs/s, min= 274.914089347 runs/s, max= 278.884462151 runs/s
3115
3116         RESULT Bindings: create-element= 278.066825356 runs/s
3117         median= 278.191822254 runs/s, stdev= 0.686497782792 runs/s, min= 276.953511375 runs/s, max= 279.162512463 runs/s
3118
3119         RESULT Bindings: create-element= 276.431538109 runs/s
3120         median= 276.406712734 runs/s, stdev= 0.759593662298 runs/s, min= 275.229357798 runs/s, max= 278.053624628 runs/s
3121
3122         [node-list-access]
3123         RESULT Bindings: node-list-access= 222.747504073 runs/s
3124         median= 222.772277228 runs/s, stdev= 0.789027527555 runs/s, min= 221.674876847 runs/s, max= 224.159402242 runs/s
3125
3126         RESULT Bindings: node-list-access= 220.722448287 runs/s
3127         median= 221.266217576 runs/s, stdev= 1.65463497875 runs/s, min= 217.391304348 runs/s, max= 222.222222222 runs/s
3128
3129         RESULT Bindings: node-list-access= 222.195870443 runs/s
3130         median= 222.222222222 runs/s, stdev= 0.489709262091 runs/s, min= 221.13022113 runs/s, max= 223.048327138 runs/s
3131
3132         RESULT Bindings: node-list-access= 221.431121677 runs/s
3133         median= 221.538545435 runs/s, stdev= 0.608292116087 runs/s, min= 220.048899756 runs/s, max= 222.772277228 runs/s
3134
3135         RESULT Bindings: node-list-access= 219.001367135 runs/s
3136         median= 221.538545435 runs/s, stdev= 4.65773933007 runs/s, min= 209.973753281 runs/s, max= 222.496909765 runs/s
3137
3138         * Bindings/append-child.html: Added.
3139         * Bindings/create-element.html: Added.
3140         * Bindings/id-getter.html: Added.
3141         * Bindings/id-setter.html: Added.
3142         * Bindings/insert-before.html: Added.
3143         * Bindings/node-list-access.html: Added.
3144         * Bindings/undefined-id-getter.html: Added.
3145
3146 2012-05-18  Kentaro Hara  <haraken@chromium.org>
3147
3148         [perf-test] Add a binding benchmark for div.setAttribute()
3149         https://bugs.webkit.org/show_bug.cgi?id=86815
3150
3151         Reviewed by Ryosuke Niwa.
3152
3153         We should remove Bindings/dom-attributes.html and instead add more
3154         reasonable micro benchmarks by classifying DOM binding call paths.
3155
3156         This patch adds a benchmark for div.setAttribute(). This benchmark
3157         covers 'setAttribute' in Dromaeo/dom-attr.html and other DOM methods
3158         that return an undefined.
3159
3160         Test results in my Linux desktop:
3161
3162         RESULT Bindings: set-attribute= 793.745073252 runs/s
3163         median= 791.589665765 runs/s, stdev= 6.00467159709 runs/s, min= 785.27607362 runs/s, max= 808.080808081 runs/s
3164
3165         RESULT Bindings: set-attribute= 790.858444164 runs/s
3166         median= 787.918921436 runs/s, stdev= 7.86264953655 runs/s, min= 780.234070221 runs/s, max= 806.04534005 runs/s
3167
3168         RESULT Bindings: set-attribute= 787.277571417 runs/s
3169         median= 784.31372549 runs/s, stdev= 7.45363346657 runs/s, min= 778.588807786 runs/s, max= 804.020100503 runs/s
3170
3171         RESULT Bindings: set-attribute= 782.401393791 runs/s
3172         median= 779.062978802 runs/s, stdev= 6.48250081621 runs/s, min= 777.642770352 runs/s, max= 796.019900498 runs/s
3173
3174         RESULT Bindings: set-attribute= 791.792516608 runs/s
3175         median= 791.556728232 runs/s, stdev= 6.49182980397 runs/s, min= 779.220779221 runs/s, max= 808.080808081 runs/s
3176
3177         * Bindings/set-attribute.html: Added.
3178
3179 2012-05-17  Kentaro Hara  <haraken@chromium.org>
3180
3181         [perf-test] Add a binding benchmark for div.getAttribute()
3182         https://bugs.webkit.org/show_bug.cgi?id=86814
3183
3184         Reviewed by Ryosuke Niwa.
3185
3186         We should remove Bindings/dom-attributes.html and instead add more
3187         reasonable micro benchmarks by classifying DOM binding call paths.
3188
3189         This patch adds a benchmark for div.getAttribute(). This benchmark
3190         covers 'getAttribute' in Dromaeo/dom-attr.html, and other DOM methods
3191         that return a String.
3192
3193         Test results in my Linux desktop:
3194
3195         RESULT Bindings: get-attribute= 250.088158538 runs/s
3196         median= 250.469728765 runs/s, stdev= 4.66551901315 runs/s, min= 240.673886883 runs/s, max= 256.739409499 runs/s
3197
3198         RESULT Bindings: get-attribute= 250.209764698 runs/s
3199         median= 250.626959986 runs/s, stdev= 4.12030002477 runs/s, min= 241.254523522 runs/s, max= 255.102040816 runs/s
3200
3201         RESULT Bindings: get-attribute= 248.907532887 runs/s
3202         median= 250.312891114 runs/s, stdev= 3.23173125874 runs/s, min= 240.673886883 runs/s, max= 251.572327044 runs/s
3203
3204         RESULT Bindings: get-attribute= 250.243680844 runs/s
3205         median= 250.783797637 runs/s, stdev= 4.19327170024 runs/s, min= 240.963855422 runs/s, max= 255.102040816 runs/s
3206
3207         RESULT Bindings: get-attribute= 245.329046608 runs/s
3208         median= 244.948040416 runs/s, stdev= 2.24314248534 runs/s, min= 240.384615385 runs/s, max= 248.756218905 runs/s
3209
3210         * Bindings/get-attribute.html: Added.
3211
3212 2012-05-17  Kentaro Hara  <haraken@chromium.org>
3213
3214         [perf-test] Add a binding benchmark for getElementById()
3215         https://bugs.webkit.org/show_bug.cgi?id=86808
3216
3217         Reviewed by Ryosuke Niwa.
3218
3219         Currently Bindings/dom-attributes.html is just a collection
3220         of random DOM attributes and methods. We should remove it and
3221         instead add more reasonable micro benchmarks by classifying
3222         DOM binding call paths.
3223
3224         This patch adds a benchmark for document.getElementById(),
3225         which covers other DOM methods that return a Node Object.
3226
3227         The reason why we want to add a benchmark for document.getElementById()
3228         in spite of the fact that Dromaeo/dom-query.html is already testing
3229         document.getElementById(), is that Dromaeo/dom-query.html outputs one
3230         result for several benchmarks (i.e. getElementById().nodeType,
3231         getElementsByTagName()[0].nodeType etc), and thus we cannot observe
3232         regression of getElementById() itself. (Catching regression of
3233         getElementById() would be critical.)
3234
3235         Test results in my Linux desktop:
3236
3237         RESULT Bindings: get-element-by-id= 300.933707795 runs/s
3238         median= 302.267002519 runs/s, stdev= 3.04954648504 runs/s, min= 295.930949445 runs/s, max= 305.34351145 runs/s
3239
3240         RESULT Bindings: get-element-by-id= 302.030324483 runs/s
3241         median= 302.267481977 runs/s, stdev= 1.78518068367 runs/s, min= 298.507462687 runs/s, max= 304.568527919 runs/s
3242
3243         RESULT Bindings: get-element-by-id= 301.993483538 runs/s
3244         median= 302.648171501 runs/s, stdev= 1.87604126626 runs/s, min= 296.662546354 runs/s, max= 304.568527919 runs/s
3245
3246         RESULT Bindings: get-element-by-id= 301.936607982 runs/s
3247         median= 302.45758701 runs/s, stdev= 1.88991087072 runs/s, min= 298.879202989 runs/s, max= 304.955527319 runs/s
3248
3249         RESULT Bindings: get-element-by-id= 301.952234563 runs/s
3250         median= 302.648171501 runs/s, stdev= 1.59929752614 runs/s, min= 299.625468165 runs/s, max= 304.568527919 runs/s
3251
3252         * Bindings/get-element-by-id.html: Added.
3253
3254 2012-05-17  Kentaro Hara  <haraken@chromium.org>
3255
3256         [perf-test] Add a benchmark for body.scrollTop
3257         https://bugs.webkit.org/show_bug.cgi?id=86806
3258
3259         Reviewed by Ryosuke Niwa.
3260
3261         Currently Bindings/dom-attributes.html is just a collection of random
3262         DOM attributes and methods. We should remove it and instead add more
3263         reasonable micro benchmarks by classifying DOM binding call paths.
3264
3265         This patch adds a benchmark for body.scrollTop, which covers other
3266         DOM attributes that return small integers.
3267
3268         (Note: Performance optimization for the benchmark will be coming soon.)
3269
3270         Test results in my Linux desktop:
3271
3272         RESULT Bindings: scroll-top= 209.410654239 runs/s
3273         median= 211.64021164 runs/s, stdev= 4.09958741195 runs/s, min= 201.005025126 runs/s, max= 212.483399734 runs/s
3274
3275         RESULT Bindings: scroll-top= 195.651111157 runs/s
3276         median= 196.319018405 runs/s, stdev= 1.77011627406 runs/s, min= 191.846522782 runs/s, max= 197.28729963 runs/s
3277         RESULT Bindings: scroll-top= 200.004907612 runs/s
3278         median= 201.511335013 runs/s, stdev= 3.27455403827 runs/s, min= 193.236714976 runs/s, max= 202.53164557 runs/s
3279
3280         RESULT Bindings: scroll-top= 209.582737512 runs/s
3281         median= 210.803689065 runs/s, stdev= 3.16769655464 runs/s, min= 203.045685279 runs/s, max= 211.920529801 runs/s
3282
3283         RESULT Bindings: scroll-top= 199.924607687 runs/s
3284         median= 201.13144338 runs/s, stdev= 3.11080503619 runs/s, min= 193.003618818 runs/s, max= 202.02020202 runs/s
3285
3286         * Bindings/scroll-top.html: Added.
3287
3288 2012-05-17  Kentaro Hara  <haraken@chromium.org>
3289
3290         [perf-test] Add a micro benchmark for div.firstChild getter for an undefined firstChild
3291         https://bugs.webkit.org/show_bug.cgi?id=86725
3292
3293         Reviewed by Ryosuke Niwa.
3294
3295         We are going to remove Bindings/dom-attributes.html and instead add more
3296         reasonable micro benchmarks by classifying DOM binding call paths.
3297
3298         In this bug, we add a micro benchmark for div.firstChild getter for an
3299         undefined firstChild. This benchmark covers other undefined DOM attributes
3300         that return a null.
3301
3302         (Note: In V8, div.firstChild for an undefined firstChild is currently slower
3303         than div.firstChild for a defined firstChild.)
3304
3305         Test results in my Linux desktop:
3306
3307         RESULT Bindings: undefined-first-child= 541.408311042 runs/s
3308         median= 541.205412054 runs/s, stdev= 1.29841219187 runs/s, min= 537.897310513 runs/s, max= 543.209876543 runs/s
3309
3310         RESULT Bindings: undefined-first-child= 541.00750695 runs/s
3311         median= 540.540540541 runs/s, stdev= 0.967521230965 runs/s, min= 539.215686275 runs/s, max= 543.209876543 runs/s
3312
3313         RESULT Bindings: undefined-first-child= 523.630714897 runs/s
3314         median= 523.560209424 runs/s, stdev= 1.01570919645 runs/s, min= 522.193211488 runs/s, max= 525.624178712 runs/s
3315
3316         RESULT Bindings: undefined-first-child= 553.077663588 runs/s
3317         median= 553.459119497 runs/s, stdev= 0.805697397863 runs/s, min= 551.378446115 runs/s, max= 554.156171285 runs/s
3318
3319         RESULT Bindings: undefined-first-child= 541.5401432 runs/s
3320         median= 541.538666618 runs/s, stdev= 0.954301364767 runs/s, min= 539.877300613 runs/s, max= 543.209876543 runs/s
3321
3322         * Bindings/undefined-first-child.html: Added.
3323
3324 2012-05-17  Kentaro Hara  <haraken@chromium.org>
3325
3326         [Performance test] Add a micro benchmark for div.firstChild getter
3327         https://bugs.webkit.org/show_bug.cgi?id=86582
3328
3329         Reviewed by Ryosuke Niwa.
3330
3331         We are going to remove Bindings/dom-attributes.html and instead add more
3332         reasonable micro benchmarks by classifying DOM binding call paths.
3333
3334         In this bug, we add a micro benchmark for div.firstChild getter.
3335         This benchmark covers 'firstChild', 'lastChild', 'nextSibling' and
3336         'previousSibling' in Dromaeo/dom-traverse.html, and other DOM attributes
3337         that return a Node object.
3338
3339         Multiple test results in my Linux desktop:
3340
3341         RESULT Bindings: first-child= 798.157160346 runs/s
3342         median= 798.004987531 runs/s, stdev= 1.52006063407 runs/s, min= 796.019900498 runs/s, max= 801.001251564 runs/s
3343         RESULT Bindings: first-child= 797.603608554 runs/s
3344         median= 797.872340426 runs/s, stdev= 2.2522621261 runs/s, min= 791.556728232 runs/s, max= 801.001251564 runs/s
3345         RESULT Bindings: first-child= 798.656295468 runs/s
3346         median= 798.004987531 runs/s, stdev= 1.79367478063 runs/s, min= 797.01120797 runs/s, max= 803.011292346 runs/s
3347         RESULT Bindings: first-child= 797.812784267 runs/s
3348         median= 798.004987531 runs/s, stdev= 2.31766523191 runs/s, min= 791.100123609 runs/s, max= 802.005012531 runs/s
3349         RESULT Bindings: first-child= 797.963311597 runs/s
3350         median= 798.004987531 runs/s, stdev= 2.53014907337 runs/s, min= 789.14919852 runs/s, max= 801.001251564 runs/s
3351
3352         * Bindings/first-child.html: Added.
3353
3354 2012-05-16  Kentaro Hara  <haraken@chromium.org>
3355
3356         [Performance test] Support "description" for PerfTestRunner.run and PerfTestRunner.runPerSecond
3357         https://bugs.webkit.org/show_bug.cgi?id=86696
3358
3359         Reviewed by Ryosuke Niwa.
3360
3361         We want to add some description for each PerfTestRunner.run and
3362         PerfTestRunner.runPerSecond, so that people can know what each
3363         run is testing.
3364
3365         Output example:
3366
3367         $ ./Tools/Scripts/run-perf-tests Bindings/first-child.html
3368         Running Bindings/first-child.html (1 of 1)
3369         DESCRIPTION: Benchmark for DOM attributes that return a Node object.
3370         RESULT Bindings: first-child= 788.359076534 runs/s
3371         median= 797.508097751 runs/s, stdev= 19.0972905207 runs/s, min= 746.666666667 runs/s, max= 801.001251564 runs/s
3372
3373         * resources/runner.js:
3374         (PerfTestRunner.logStatistics):
3375         (PerfTestRunner.printStatistics):
3376         (PerfTestRunner.runPerSecond):
3377
3378 2012-05-16  Yury Semikhatsky  <yurys@chromium.org>
3379
3380         Unreviewed. Fix heap profiler performance test after r117234.
3381
3382         * inspector/heap-snapshot.html:
3383
3384 2012-05-14  Ryosuke Niwa  <rniwa@webkit.org>
3385
3386         Convert CSS and Parser tests to runs/s tests
3387         https://bugs.webkit.org/show_bug.cgi?id=86399
3388
3389         Reviewed by Ojan Vafai.
3390
3391         Use runPerSecond instead of run to measure results in function calls per second (run/s) instead of time (ms).
3392         This allows us to continue measuring performance reliably even when WebKit's performance improves and results
3393         become too small for Date.now()'s precision (around 15 ms).
3394
3395         It should also reduce perf. bots cycle time for slower tests because we limit the number of function calls by time.
3396
3397         * CSS/CSSPropertySetterGetter.html:
3398         * CSS/CSSPropertyUpdateValue.html:
3399         * Parser/css-parser-yui.html:
3400         * Parser/simple-url.html:
3401         * Parser/tiny-innerHTML.html:
3402         * Parser/url-parser.html:
3403         * Parser/xml-parser.html:
3404
3405 2012-05-14  Dan Bernstein  <mitz@apple.com>
3406
3407         Add a line layout performance test
3408         https://bugs.webkit.org/show_bug.cgi?id=86216
3409
3410         Reviewed by Ryosuke Niwa.
3411
3412         * Layout/line-layout.html: Added.
3413
3414 2012-05-14  Tony Chang  <tony@chromium.org>
3415
3416         Don't append log lines while perf tests are running.
3417         https://bugs.webkit.org/show_bug.cgi?id=86028
3418
3419         Reviewed by Ryosuke Niwa.
3420
3421         In some tests, the extra DOM nodes can cause the test timing to change.
3422         Avoid adding DOM nodes until the test is over. When running in a browser,
3423         we append nodes as we run so the user can have some feedback.
3424
3425         * resources/runner.js:
3426         (PerfTestRunner.log): Store the log lines in an array until the test is finished.
3427
3428 2012-05-14  Ryosuke Niwa  <rniwa@webkit.org>
3429
3430         Build fix. Don't adjust calls per iteration in the second run.
3431
3432         * resources/runner.js:
3433         (PerfTestRunner._perSecondRunner):
3434
3435 2012-05-13  Ryosuke Niwa  <rniwa@webkit.org>
3436
3437         performance tests should be able to measure runs/sec rather than time
3438         https://bugs.webkit.org/show_bug.cgi?id=86021
3439
3440         Reviewed by Ojan Vafai.
3441
3442         Add PerfTestRunner.runPerSecond. It uses _runLoop but replaces _runner by _perSecondRunner
3443         to compute runs/s of runFunction.
3444
3445         When _perSecondRunner is called for the first time, i.e. _completedRuns is 0 (notice this is -1
3446         in regular run/_runner), it slowly increases the number of function calls to runFunction between
3447         time measurements in order to discount the time used by new Date() calls themselves until the
3448         total time spent reaches 100 milliseconds.
3449
3450         By default, runPerSecond runs the test for at least 750 milliseconds in each run, and executes
3451         21 runs, yielding the total run time of roughly 18 seconds. This is significantly faster than
3452         most of existing performance tests. Also see http://ejohn.org/blog/accuracy-of-javascript-time/.
3453
3454         Finally, refactored the existing methods of PerfTestRunner to allow "runs/s" unit and share code.
3455
3456         * Layout/flexbox-column-nowrap.html:
3457         * Layout/flexbox-column-wrap.html:
3458         * Layout/flexbox-row-nowrap.html:
3459         * Layout/flexbox-row-wrap.html:
3460         * resources/runner.js:
3461         (PerfTestRunner.computeStatistics): Takes unit.
3462         (PerfTestRunner.logStatistics): Ditto.
3463         (PerfTestRunner._runLoop):
3464         (PerfTestRunner._runner):
3465         (PerfTestRunner.runPerSecond): Added.
3466         (PerfTestRunner._perSecondRunner): Added. Called by _runLoop.
3467         (PerfTestRunner._perSecondRunnerIterator): Added.
3468
3469 2012-05-09  Tony Chang  <tony@chromium.org>
3470
3471         add some basic perf-o-matic tests for flexbox
3472         https://bugs.webkit.org/show_bug.cgi?id=86017
3473
3474         Reviewed by Ryosuke Niwa.
3475
3476         Each of these tests take < 3s on my machine.
3477
3478         * Layout/flexbox-column-nowrap.html: Added.
3479         * Layout/flexbox-column-wrap.html: Added.
3480         * Layout/flexbox-row-nowrap.html: Added.
3481         * Layout/flexbox-row-wrap.html: Added.
3482
3483 2012-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
3484
3485         Web Inspector: unreviewed followup fix for the performance test after r116218.
3486
3487         * inspector/heap-snapshot.html:
3488
3489 2012-05-02  Tom Zakrajsek  <tomz@codeaurora.org>
3490
3491         Need tests for PerfTestRunner.computeStatistics
3492         https://bugs.webkit.org/show_bug.cgi?id=85410
3493
3494         Reviewed by Ryosuke Niwa.
3495
3496         * resources/runner.js:
3497
3498 2012-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3499
3500         Unreviewed, rolling out r115905.
3501         http://trac.webkit.org/changeset/115905
3502         https://bugs.webkit.org/show_bug.cgi?id=85435
3503
3504         New computeStatistics test is failing on chromium ports
3505         (Requested by tomz on #webkit).
3506
3507         * resources/runner.js:
3508
3509 2012-05-02  Tom Zakrajsek  <tomz@codeaurora.org>
3510
3511         Need tests for PerfTestRunner.computeStatistics
3512         https://bugs.webkit.org/show_bug.cgi?id=85410
3513
3514         Reviewed by Ryosuke Niwa.
3515
3516         * resources/runner.js:
3517
3518 2012-04-29  Tom Zakrajsek  <tomz@codeaurora.org>
3519
3520         PerfTestRunner.computeStatistics incorrectly calculates min, max and median
3521         https://bugs.webkit.org/show_bug.cgi?id=85111
3522
3523         Reviewed by Ryosuke Niwa.
3524
3525         The sort of the data input was being done alphabetically.
3526         So I provided a numeric compare function.
3527
3528         * resources/runner.js:
3529
3530 2012-04-17  Ilya Tikhonovsky  <loislo@chromium.org>
3531
3532         Web Inspector: the fix for test after massive rename in r114271.
3533         https://bugs.webkit.org/show_bug.cgi?id=84147
3534
3535         Drive by fix. The test was renamed to heap-snapshot.html
3536
3537         Reviewed by Yury Semikhatsky.
3538
3539         * inspector/heap-snapshot.html: Renamed from PerformanceTests/inspector/detailed-heapshots-smoke-test.html.
3540
3541 2012-04-16  Yury Semikhatsky  <yurys@chromium.org>
3542
3543         Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
3544         https://bugs.webkit.org/show_bug.cgi?id=84038
3545
3546         A bunch of renames "detailed heapshot" -> "heap snapshot".
3547
3548         Reviewed by Pavel Feldman.
3549
3550         * inspector/detailed-heapshots-smoke-test.html:
3551
3552 2012-04-13  Ryosuke Niwa  <rniwa@webkit.org>
3553
3554         Fix skipped list.
3555
3556         * Skipped:
3557
3558 2012-04-12  Ryosuke Niwa  <rniwa@webkit.org>
3559
3560         Enable SVG page loading performance tests
3561         https://bugs.webkit.org/show_bug.cgi?id=83861
3562
3563         Reviewed by Adam Barth.
3564
3565         Unskip PageLoad directory and skip tests that load too fast (less than 100ms) and are unstable,
3566         and the ones that take too long to load (more than 20s).
3567
3568         * Skipped:
3569
3570 2012-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
3571
3572         Web Inspector: Unreviewed. temporary disable broken inspector tests.
3573
3574         * inspector/first-open-scripts.html.broken: Renamed from PerformanceTests/inspector/first-open-scripts.html.
3575         * inspector/network-append-30-requests.html.broken: Renamed from PerformanceTests/inspector/network-append-30-requests.html.
3576         * inspector/show-panel.html.broken: Renamed from PerformanceTests/inspector/show-panel.html.
3577
3578 2012-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
3579
3580         Web Inspector: linearise aggregate's retaining size calculation.
3581         https://bugs.webkit.org/show_bug.cgi?id=83125
3582
3583         This version is twice as fast as the original and it is non-recursive.
3584
3585         Reviewed by Yury Semikhatsky.
3586
3587         * inspector/detailed-heapshots-smoke-test.html:
3588
3589 2012-03-30  David Barr  <davidbarr@chromium.org>
3590
3591         Split up top-level .gitignore and .gitattributes
3592         https://bugs.webkit.org/show_bug.cgi?id=82687
3593
3594         Reviewed by Tor Arne Vestbø.
3595
3596         * .gitattributes: Added.
3597
3598 2012-03-28  Yury Semikhatsky  <yurys@chromium.org>
3599
3600         Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
3601         https://bugs.webkit.org/show_bug.cgi?id=82453
3602
3603         Updated heap profiler performance test after heap profiler front-end
3604         changes.
3605
3606         Reviewed by Pavel Feldman.
3607
3608         * inspector/detailed-heapshots-smoke-test.html:
3609
3610 2012-03-27  Alexis Menard  <alexis.menard@openbossa.org>
3611
3612         Add a perf test which updates the value of an already declared CSS property.
3613         https://bugs.webkit.org/show_bug.cgi?id=82321
3614
3615         Reviewed by Andreas Kling.
3616
3617         This benchmark update CSS existing properties of the style from JS.
3618
3619         * CSS/CSSPropertyUpdateValue.html: Added.
3620
3621 2012-03-15  Kentaro Hara  <haraken@chromium.org>
3622
3623         [PerformanceTests] run-perf-tests should output correct units
3624         https://bugs.webkit.org/show_bug.cgi?id=78303
3625
3626         Reviewed by Ryosuke Niwa.
3627
3628         Previously run-perf-tests just supported "ms" for units.
3629         Consequently, Dromaeo perf tests had been reporting runs/s as "ms".
3630         This patch fixes run-perf-tests so that they can support custom units.
3631         The default unit is "ms".
3632
3633         The test result looks like this:
3634
3635         $ ./Tools/Scripts/run-perf-tests Dromaeo/dom-attr.html
3636         RESULT Dromaeo: dom-attr= 6465.9525483 runs/s
3637         median= 0.0 runs/s, stdev= 24.2983433436 runs/s, min= 6435.87649402 runs/s, max= 6515.63693392 runs/s
3638
3639         * Dromaeo/resources/dromaeorunner.js:
3640         (.):
3641         * resources/runner.js:
3642         (PerfTestRunner.computeStatistics):
3643         (PerfTestRunner.printStatistics):
3644
3645 2012-03-15  Alexis Menard  <alexis.menard@openbossa.org>
3646
3647         Fix the test failing with run-perf-tests.
3648
3649         Rubber stamped by Ryosuke Niwa.
3650
3651         * CSS/CSSPropertySetterGetter.html:
3652
3653 2012-03-14  Alexis Menard  <alexis.menard@openbossa.org>
3654
3655         Add a new perf test to benchmark setting and reading CSS properties from JS.
3656         https://bugs.webkit.org/show_bug.cgi?id=81155
3657
3658         Reviewed by Ryosuke Niwa.
3659
3660         This benchmark read and set CSS properties from JS. It contains a list
3661         of common CSS properties.
3662
3663         * CSS/CSSPropertySetterGetter.html: Added.
3664
3665 2012-03-14  Alexandru Chiculita  <achicu@adobe.com>
3666
3667         Layout/floats.html should be runnable by run-perf-tests
3668         https://bugs.webkit.org/show_bug.cgi?id=77051
3669
3670         Reviewed by Ryosuke Niwa.
3671
3672         I've split Layout/floats.html into multiple tests for each button in the original manual test.
3673         Some tests take longer to run and I've changed the number of iterations, so that each tests finishes under 30s per run.
3674
3675         * DOM/resources/dom-perf.js:
3676         * Layout/floats.html: Removed.
3677         * Layout/floats_100_100.html: Added.
3678         * Layout/floats_100_100_nested.html: Added.
3679         * Layout/floats_20_100.html: Added.
3680         * Layout/floats_20_100_nested.html: Added.
3681         * Layout/floats_2_100.html: Added.
3682         * Layout/floats_2_100_nested.html: Added.
3683         * Layout/floats_50_100.html: Added.
3684         * Layout/floats_50_100_nested.html: Added.
3685         * Layout/resources/floats.css: Added.
3686         (.container):
3687         (.float):
3688         (.big):
3689         (.float-end):
3690         * Layout/resources/floats.js: Added.
3691         (.):
3692         * Skipped:
3693         * resources/runner.js:
3694         (PerfTestRunner.resetRandomSeed):
3695         (PerfTestRunner.random):
3696         (Math.random):
3697             Moved the Math.random to runner.js to be used by all tests.
3698             Added resetRandomSeed to bring the randomizer back to initial seed.
3699             It is useful to get the same results at every run and minimize the
3700             differences between runs.
3701
3702 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3703
3704         Unreviewed, rolling out r110559.
3705         http://trac.webkit.org/changeset/110559
3706         https://bugs.webkit.org/show_bug.cgi?id=81142
3707
3708         Broke Dromaeo tests (Requested by rniwa on #webkit).
3709
3710         * Dromaeo/resources/dromaeorunner.js:
3711         (.):
3712
3713 2012-03-13  Kentaro Hara  <haraken@chromium.org>
3714
3715         Dromaeo perf-tests results are wrong
3716         https://bugs.webkit.org/show_bug.cgi?id=80974
3717
3718         Reviewed by Hajime Morita.
3719
3720         Dromaeo perf-tests had reported the sum of runs/seconds as "ms".
3721         This patch fixes them to report the execution time per run.
3722
3723         At present, they report "0.0ms" for "stdev". This is because
3724         dromaeorunner.js can just know stdev of "runs/seconds"
3725         and cannot calculate stdev of "ms" from that. We can fix it later.
3726
3727         * Dromaeo/resources/dromaeorunner.js:
3728         (.):
3729
3730 2012-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
3731
3732         Web Inspector: chromium: increase heap snapshot performance coverage.
3733         https://bugs.webkit.org/show_bug.cgi?id=80829
3734
3735         Reviewed by Yury Semikhatsky.
3736
3737         * inspector/detailed-heapshots-smoke-test.html:
3738         * inspector/performance-test.js:
3739         (initialize_TimeTracker.InspectorTest.measureFunction):
3740
3741 2012-03-06  Kentaro Hara  <haraken@chromium.org>
3742
3743         [Perf tests] Reduce the number of loops in dom-attributes.html
3744         https://bugs.webkit.org/show_bug.cgi?id=80077
3745
3746         Reviewed by Ryosuke Niwa.
3747
3748         dom-attributes.html takes 100~ seconds in the perf bots. This patch reduces
3749         the time by reducing the number of loops.
3750
3751         This is just a temporary fix. After more detailed investigation, I will reduce
3752         the number of tests in dom-attributes.html, and revert back the number of loops
3753         to guarantee the reliability of the perf test results.
3754
3755         * Bindings/dom-attributes.html:
3756
3757 2012-03-06  Ilya Tikhonovsky  <loislo@chromium.org>
3758
3759         Web Inspector: Heap Snapshot test: split overal time metric into separate metrics.
3760         https://bugs.webkit.org/show_bug.cgi?id=80409
3761
3762         Reviewed by Yury Semikhatsky.
3763
3764         * inspector/detailed-heapshots-smoke-test.html:
3765
3766 2012-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
3767
3768         Web Inspector: [chromium] introduce HeapSnapshot performance test.
3769         https://bugs.webkit.org/show_bug.cgi?id=80280
3770
3771         Reviewed by Pavel Feldman.
3772
3773         * inspector/detailed-heapshots-smoke-test.html: Added.
3774
3775 2012-03-01  Ryosuke Niwa  <rniwa@webkit.org>
3776
3777         DOM tests take too long to run
3778         https://bugs.webkit.org/show_bug.cgi?id=80082
3779
3780         Reviewed by Eric Seidel.
3781
3782         Reduce benchmark.timeToRun from 500ms to 100ms. Doesn't seem to affect test results much
3783         (except DOM/DOMTable.html) but significantly reduces the runtime of tests.
3784
3785         * DOM/resources/dom-perf.js:
3786         (BenchmarkSuite.prototype.RunSingle):
3787
3788 2012-02-26  Kentaro Hara  <haraken@chromium.org>
3789
3790         [Performance Tests] [Chromium] Bindings/dom-attributes.html is timing out
3791         https://bugs.webkit.org/show_bug.cgi?id=79593
3792
3793         Reviewed by Adam Barth.
3794
3795         This patch halves the execution time of Bindings/dom-attributes.html
3796         in order to avoid timeout in Chromium. The reason for the timeout is that
3797         V8 DOM bindings are too much slower than JSC bindings.
3798         I am a bit afraid that this patch will reduce the accuracy of the
3799         perf test results, but it would make sense to reduce the execution time
3800         until we fix the performance issue in V8 DOM bindings.
3801
3802         * Bindings/dom-attributes.html:
3803
3804 2012-02-24  Ryosuke Niwa  <rniwa@webkit.org>
3805
3806         Rename dom*_*attributes.html to dom*-*attributes.html to follow the WebKit convention.
3807
3808         * Bindings/dom-attributes.html: Copied from PerformanceTests/Bindings/dom_attributes.html.
3809         * Bindings/dom_attributes.html: Removed.
3810
3811 2012-02-24  Kentaro Hara  <haraken@chromium.org>
3812
3813         Unreviewed, rolling out r108477.
3814         http://trac.webkit.org/changeset/108477
3815         https://bugs.webkit.org/show_bug.cgi?id=79209
3816
3817         The perf tests committed in r108748 covers the perf tests
3818         committed in r108477. So I'll roll out r108477.
3819
3820         * Bindings/dom_attributes_id_getter.html: Removed.
3821         * Bindings/dom_attributes_id_setter.html: Removed.
3822         * Bindings/resources/dom_attributes_common.js: Removed.
3823
3824 2012-02-24  Kentaro Hara  <haraken@chromium.org>
3825
3826         Add performance tests for DOM attribute getters and setters
3827         https://bugs.webkit.org/show_bug.cgi?id=79208
3828
3829         Reviewed by Ryosuke Niwa.
3830
3831         This patch adds performance micro-benchmarks for DOM attribute
3832         getters and setters. We selected DOM attributes from HTMLElement,
3833         Element and Node which will most impact on the DOM performance
3834         in the real Web and which have different call-paths from another
3835         DOM attribute.
3836
3837         The perf test result in my local Chromium/Linux environment is as follows:
3838         median= 14967.0 ms, stdev= 85.2385476178 ms, min= 14861.0 ms, max= 15155.0 ms
3839
3840         If we run the test with DumpRenderTree, we can get the following test results:
3841         Info: [HTMLElement.id] avg=65.76ms, median=65.00ms, stdev=2.14ms, min=63, max=70
3842         Info: [HTMLElement.title] avg=64.05ms, median=63.00ms, stdev=1.50ms, min=63, max=67
3843         Info: [HTMLElement.lang] avg=64.19ms, median=63.00ms, stdev=1.82ms, min=62, max=67
3844         Info: [HTMLElement.dir] avg=64.10ms, median=63.00ms, stdev=1.72ms, min=62, max=68
3845         Info: [HTMLElement.className] avg=63.33ms, median=63.00ms, stdev=0.89ms, min=63, max=67
3846         Info: [HTMLElement.classList] avg=1946.00ms, median=1945.00ms, stdev=38.22ms, min=1921, max=2110
3847         Info: [HTMLElement.tabIndex] avg=83.52ms, median=80.00ms, stdev=6.00ms, min=79, max=94
3848         Info: [HTMLElement.draggable] avg=78.14ms, median=81.00ms, stdev=3.51ms, min=74, max=82
3849         Info: [HTMLElement.webkitdropzone] avg=64.33ms, median=63.00ms, stdev=1.98ms, min=63, max=68
3850         Info: [HTMLElement.hidden] avg=65.57ms, median=64.00ms, stdev=3.27ms, min=63, max=71
3851         Info: [HTMLElement.accessKey] avg=64.43ms, median=63.00ms, stdev=2.11ms, min=62, max=68
3852         Info: [HTMLElement.children] avg=130.76ms, median=128.00ms, stdev=9.75ms, min=109, max=143
3853         Info: [HTMLElement.isContentEditable] avg=74.29ms, median=75.00ms, stdev=2.00ms, min=71, max=77
3854         Info: [HTMLElement.spellcheck] avg=79.52ms, median=80.00ms, stdev=2.52ms, min=76, max=82
3855         Info: [HTMLElement.innerHTML] avg=279.05ms, median=279.00ms, stdev=1.96ms, min=276, max=283
3856         Info: [HTMLElement.innerText] avg=204.14ms, median=203.00ms, stdev=2.95ms, min=200, max=210
3857         Info: [HTMLElement.outerHTML] avg=1544.10ms, median=1546.00ms, stdev=15.56ms, min=1514, max=1568
3858         Info: [HTMLElement.outerText] avg=216.05ms, median=207.00ms, stdev=18.19ms, min=201, max=247
3859         Info: [HTMLElement.contentEditable] avg=334.24ms, median=323.00ms, stdev=36.06ms, min=318, max=446
3860         Info: [HTMLElement.id="foo"] avg=53.19ms, median=53.00ms, stdev=1.76ms, min=52, max=58
3861         Info: [HTMLElement.title="foo"] avg=63.14ms, median=63.00ms, stdev=0.35ms, min=63, max=64
3862         Info: [HTMLElement.lang="foo"] avg=60.86ms, median=61.00ms, stdev=0.56ms, min=60, max=62
3863         Info: [HTMLElement.dir="foo"] avg=53.57ms, median=54.00ms, stdev=0.58ms, min=53, max=55
3864         Info: [HTMLElement.className="foo"] avg=64.52ms, median=64.00ms, stdev=0.91ms, min=63, max=66
3865         Info: [HTMLElement.tabIndex="foo"] avg=367.86ms, median=369.00ms, stdev=8.06ms, min=352, max=380
3866         Info: [HTMLElement.draggable="foo"] avg=79.43ms, median=79.00ms, stdev=0.58ms, min=79, max=81
3867         Info: [HTMLElement.webkitdropzone="foo"] avg=62.14ms, median=62.00ms, stdev=0.35ms, min=62, max=63
3868         Info: [HTMLElement.hidden="foo"] avg=61.67ms, median=62.00ms, stdev=0.71ms, min=61, max=64
3869         Info: [HTMLElement.accessKey="foo"] avg=61.86ms, median=62.00ms, stdev=0.56ms, min=61, max=63
3870         Info: [HTMLElement.spellcheck="foo"] avg=79.57ms, median=80.00ms, stdev=0.58ms, min=78, max=80
3871         Info: [HTMLElement.innerHTML="foo"] avg=1176.67ms, median=1169.00ms, stdev=26.60ms, min=1146, max=1246
3872         Info: [HTMLElement.innerText="foo"] avg=51.62ms, median=52.00ms, stdev=0.72ms, min=50, max=53
3873         Info: [Element.tagName] avg=79.52ms, median=80.00ms, stdev=1.05ms, min=78, max=81
3874         Info: [Element.style] avg=126.19ms, median=126.00ms, stdev=10.40ms, min=104, max=161
3875         Info: [Element.offsetLeft] avg=98.95ms, median=104.00ms, stdev=4.01ms, min=100, max=99
3876         Info: [Element.clientLeft] avg=98.33ms, median=102.00ms, stdev=2.59ms, min=100, max=99
3877         Info: [Element.scrollLeft] avg=103.29ms, median=96.00ms, stdev=15.63ms, min=100, max=97
3878         Info: [Element.dataset] avg=2448.62ms, median=2441.00ms, stdev=20.43ms, min=2426, max=2503
3879         Info: [Element.firstElementChild] avg=58.71ms, median=58.00ms, stdev=2.37ms, min=57, max=65
3880         Info: [Element.lastElementChild] avg=56.33ms, median=55.00ms, stdev=1.83ms, min=54, max=59
3881         Info: [Element.previousElementSibling] avg=52.95ms, median=52.00ms, stdev=1.70ms, min=52, max=57
3882         Info: [Element.nextElementSibling] avg=58.48ms, median=58.00ms, stdev=1.79ms, min=57, max=63
3883         Info: [Element.childElementCount] avg=64.57ms, median=64.00ms, stdev=1.81ms, min=63, max=71
3884         Info: [Element.onload] avg=98.38ms, median=98.00ms, stdev=0.49ms, min=98, max=99
3885         Info: [Element.scrollLeft="foo"] avg=95.24ms, median=95.00ms, stdev=0.92ms, min=94, max=98
3886         Info: [Element.onload="foo"] avg=67.14ms, median=67.00ms, stdev=0.56ms, min=66, max=68
3887         Info: [Node.nodeName] avg=76.29ms, median=76.00ms, stdev=0.63ms, min=75, max=77
3888         Info: [Node.nodeType] avg=53.05ms, median=52.00ms, stdev=2.61ms, min=52, max=61
3889         Info: [Node.parentNode] avg=53.52ms, median=53.00ms, stdev=1.22ms, min=52, max=56
3890         Info: [Node.childNodes] avg=118.33ms, median=123.00ms, stdev=8.85ms, min=107, max=129
3891         Info: [Node.firstChild] avg=53.62ms, median=53.00ms, stdev=1.13ms, min=51, max=55
3892         Info: [Node.lastChild] avg=53.14ms, median=53.00ms, stdev=1.21ms, min=52, max=55
3893         Info: [Node.previousSibling] avg=51.86ms, median=51.00ms, stdev=1.55ms, min=50, max=54
3894         Info: [Node.nextSibling] avg=52.86ms, median=54.00ms, stdev=1.81ms, min=50, max=55
3895         Info: [Node.attributes] avg=2027.71ms, median=2026.00ms, stdev=10.48ms, min=2010, max=2051
3896         Info: [Node.ownerDocument] avg=152.14ms, median=152.00ms, stdev=1.73ms, min=149, max=155
3897         Info: [Node.namespaceURI] avg=60.86ms, median=59.00ms, stdev=3.85ms, min=56, max=66
3898         Info: [Node.localName] avg=60.00ms, median=59.00ms, stdev=2.71ms, min=57, max=66
3899         Info: [Node.baseURI] avg=671.10ms, median=668.00ms, stdev=10.66ms, min=659, max=706
3900         Info: [Node.parentElement] avg=55.05ms, median=56.00ms, stdev=2.15ms, min=52, max=58
3901         Info: [Node.nodeValue] avg=61.24ms, median=60.00ms, stdev=2.56ms, min=59, max=68
3902         Info: [Node.prefix] avg=60.90ms, median=58.00ms, stdev=4.26ms, min=57, max=68
3903         Info: [Node.textContent] avg=149.71ms, median=149.00ms, stdev=1.12ms, min=148, max=152
3904         Info: [Node.nodeValue="foo"] avg=23.62ms, median=23.00ms, stdev=0.72ms, min=23, max=25
3905         Info: [Node.prefix="foo"] avg=49.57ms, median=49.00ms, stdev=0.73ms, min=49, max=51
3906         Info: [Node.textContent="foo"] avg=145.81ms, median=140.00ms, stdev=17.43ms, min=138, max=199
3907
3908         * Bindings/dom_attributes.html: Added.
3909         * resources/runner.js:
3910         (PerfTestRunner.info):
3911
3912 2012-02-22  Kentaro Hara  <haraken@chromium.org>
3913
3914         Add performance tests for the Element.id getter and setter
3915         https://bugs.webkit.org/show_bug.cgi?id=79209
3916
3917         Reviewed by Adam Barth.
3918
3919         This patch adds performance tests for the Element.id getter and setter.
3920
3921         The results of 10 runs in my local Chromium/Linux are as follows:
3922
3923         dom_attributes_id_getter.html:
3924         median= 92.0 ms, stdev= 1.65151445649 ms, min= 89.0 ms, max= 96.0 ms
3925         median= 87.5 ms, stdev= 1.84390889146 ms, min= 85.0 ms, max= 92.0 ms
3926         median= 94.0 ms, stdev= 1.46543508898 ms, min= 90.0 ms, max= 95.0 ms
3927         median= 86.0 ms, stdev= 1.66958078571 ms, min= 84.0 ms, max= 91.0 ms
3928         median= 94.0 ms, stdev= 2.25610283454 ms, min= 103.0 ms, max= 98.0 ms
3929         median= 86.0 ms, stdev= 1.49666295471 ms, min= 84.0 ms, max= 91.0 ms
3930         median= 86.0 ms, stdev= 1.5321553446 ms, min= 84.0 ms, max= 90.0 ms
3931         median= 86.0 ms, stdev= 2.20227155455 ms, min= 84.0 ms, max= 94.0 ms
3932         median= 96.0 ms, stdev= 1.74570902501 ms, min= 101.0 ms, max= 99.0 ms
3933         median= 86.0 ms, stdev= 1.63935963108 ms, min= 84.0 ms, max= 90.0 ms
3934         median= 94.0 ms, stdev= 1.49248115566 ms, min= 90.0 ms, max= 95.0 ms
3935         median= 88.0 ms, stdev= 5.20192272146 ms, min= 84.0 ms, max= 98.0 ms
3936         median= 86.0 ms, stdev= 1.41067359797 ms, min= 84.0 ms, max= 89.0 ms
3937         median= 86.0 ms, stdev= 1.48660687473 ms, min= 84.0 ms, max= 89.0 ms
3938         median= 94.0 ms, stdev= 1.58113883008 ms, min= 93.0 ms, max= 97.0 ms
3939         median= 86.0 ms, stdev= 1.95959179423 ms, min= 84.0 ms, max= 93.0 ms
3940         median= 86.0 ms, stdev= 1.8547236991 ms, min= 84.0 ms, max= 92.0 ms
3941         median= 86.0 ms, stdev= 1.39283882772 ms, min= 84.0 ms, max= 89.0 ms
3942         median= 88.0 ms, stdev= 1.48660687473 ms, min= 85.0 ms, max= 90.0 ms
3943         median= 86.5 ms, stdev= 2.3 ms, min= 84.0 ms, max= 93.0 ms
3944
3945         dom_attributes_id_setter.html:
3946         median= 123.0 ms, stdev= 2.06397674406 ms, min= 119.0 ms, max= 128.0 ms
3947         median= 119.0 ms, stdev= 1.92028643697 ms, min= 117.0 ms, max= 123.0 ms
3948         median= 121.0 ms, stdev= 1.8781639971 ms, min= 118.0 ms, max= 123.0 ms
3949         median= 123.0 ms, stdev= 2.21585198062 ms, min= 119.0 ms, max= 130.0 ms
3950         median= 124.5 ms, stdev= 2.36378933071 ms, min= 119.0 ms, max= 129.0 ms
3951         median= 122.0 ms, stdev= 2.4474476501 ms, min= 118.0 ms, max= 128.0 ms
3952         median= 123.0 ms, stdev= 1.76351920885 ms, min= 118.0 ms, max= 125.0 ms
3953         median= 119.0 ms, stdev= 1.79652442232 ms, min= 117.0 ms, max= 125.0 ms
3954         median= 121.0 ms, stdev= 1.49916643506 ms, min= 119.0 ms, max= 123.0 ms
3955         median= 119.5 ms, stdev= 1.85135085816 ms, min= 117.0 ms, max= 125.0 ms
3956         median= 124.0 ms, stdev= 1.43090880213 ms, min= 120.0 ms, max= 124.0 ms
3957         median= 122.0 ms, stdev= 1.45859521458 ms, min= 118.0 ms, max= 123.0 ms
3958         median= 123.0 ms, stdev= 1.50332963784 ms, min= 120.0 ms, max= 124.0 ms
3959         median= 123.0 ms, stdev= 1.3638181697 ms, min= 120.0 ms, max= 125.0 ms
3960         median= 119.0 ms, stdev= 1.43527000944 ms, min= 117.0 ms, max= 121.0 ms
3961         median= 122.5 ms, stdev= 1.71682847134 ms, min= 118.0 ms, max= 124.0 ms
3962         median= 121.0 ms, stdev= 1.44481832768 ms, min= 118.0 ms, max= 123.0 ms
3963         median= 120.0 ms, stdev= 1.40978721799 ms, min= 117.0 ms, max= 122.0 ms
3964         median= 122.0 ms, stdev= 1.68522995464 ms, min= 119.0 ms, max= 125.0 ms
3965         median= 122.0 ms, stdev= 1.55804364509 ms, min= 118.0 ms, max= 123.0 ms
3966
3967
3968         * Bindings/dom_attributes_id_getter.html: Added.
3969         * Bindings/dom_attributes_id_setter.html: Added.
3970         * Bindings/resources/dom_attributes_common.js: Added.
3971
3972 2012-02-16  Alexis Menard  <alexis.menard@openbossa.org>
3973
3974         Add a perf test for the CSS parser.
3975         https://bugs.webkit.org/show_bug.cgi?id=78114
3976
3977         Reviewed by Ryosuke Niwa.
3978
3979         Add a perf test for the CSS parser. It load a big CSS chunk
3980         which contains some snippets of the YUI library from Yahoo!.
3981
3982         * Parser/css-parser-yui.html: Added.
3983
3984 2012-02-08  Hajime Morrita  <morrita@chromium.org>
3985
3986         [PerformanceTests] sunspider-crypto-md5.html and sunspider-crypto-sha1.html are timing out on cr-mac perf bot
3987         https://bugs.webkit.org/show_bug.cgi?id=78174
3988
3989         Reviewed by Ryosuke Niwa.
3990
3991         Pulled back removed files.
3992
3993         * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-md5.html: Added.
3994         * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-sha1.html: Added.
3995
3996 2012-02-02  Hajime Morrita  <morrita@chromium.org>
3997
3998         [PerformanceTests] Each Dromaeo test needs its landing html.
3999         https://bugs.webkit.org/show_bug.cgi?id=77504
4000
4001         Reviewed by Ryosuke Niwa.
4002