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