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