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