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