1 2013-09-04 Filip Pizlo <fpizlo@apple.com>
3 Introduce a version of SunSpider that runs for a really long time (about 1 sec on my machine)
5 Rubber stamped by Mark Hahnenberg.
7 This isn't meant for serious VM-to-VM performance comparisons, but it is useful
8 to see how these benchmarks behave when they're completely warmed up.
11 * LongSpider/3d-cube.js: Added.
27 * LongSpider/3d-morph.js: Added.
28 (loops.3500.nx.120.nz.120.morph):
29 * LongSpider/3d-raytrace.js: Added.
47 (Triangle.prototype.intersect):
49 (Scene.prototype.intersect):
50 (Scene.prototype.blocked):
52 (Camera.prototype.generateRayPair):
54 (Camera.prototype.render):
55 (raytraceScene.floorShader):
57 (arrayToCanvasCommands):
58 * LongSpider/access-binary-trees.js: Added.
60 (TreeNode.prototype.itemCheck):
62 * LongSpider/access-fannkuch.js: Added.
64 * LongSpider/access-nbody.js: Added.
66 (Body.prototype.offsetMomentum):
73 (NBodySystem.prototype.advance):
74 (NBodySystem.prototype.energy):
75 * LongSpider/access-nsieve.js: Added.
79 * LongSpider/bitops-3bit-bits-in-byte.js: Added.
82 * LongSpider/bitops-bits-in-byte.js: Added.
85 * LongSpider/bitops-nsieve-bits.js: Added.
89 * LongSpider/controlflow-recursive.js: Added.
93 * LongSpider/crypto-aes.js: Added.
105 * LongSpider/crypto-md5.js: Added.
126 * LongSpider/crypto-sha1.js: Added.
144 * LongSpider/date-format-tofte.js: Added.
174 (Date.prototype.formatDate):
175 * LongSpider/date-format-xparb.js: Added.
176 (Date.prototype.dateFormat):
177 (Date.createNewFormat):
178 (Date.getFormatCode):
181 (Date.formatCodeToRegex):
182 (Date.prototype.getTimezone):
183 (Date.prototype.getGMTOffset):
184 (Date.prototype.getDayOfYear):
185 (Date.prototype.getWeekOfYear):
186 (Date.prototype.isLeapYear):
187 (Date.prototype.getFirstDayOfMonth):
188 (Date.prototype.getLastDayOfMonth):
189 (Date.prototype.getDaysInMonth):
190 (Date.prototype.getSuffix):
192 * LongSpider/math-cordic.js: Added.
198 * LongSpider/math-partial-sums.js: Added.
200 * LongSpider/math-spectral-norm.js: Added.
206 * LongSpider/string-base64.js: Added.
209 * LongSpider/string-fasta.js: Added.
214 * LongSpider/string-tagcloud.js: Added.
215 (.Array.prototype.toJSONString):
216 (.Boolean.prototype.toJSONString):
217 (.Date.prototype.toJSONString):
218 (.Number.prototype.toJSONString):
219 (.Object.prototype.toJSONString):
222 2013-06-10 Radu Stavila <stavila@adobe.com>
224 [CSS Regions] Rename region-overflow to region-fragment
225 https://bugs.webkit.org/show_bug.cgi?id=117397
227 Renamed -webkit-region-overflow to -webkit-region-fragment according to the new working draft
228 at http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-region-fragment-property
230 Reviewed by Alexander Pavlov.
232 * Layout/resources/regions.css:
234 2013-06-05 Zan Dobersek <zdobersek@igalia.com>
236 Move MemoryInfo under window.internals
237 https://bugs.webkit.org/show_bug.cgi?id=117197
239 Reviewed by Ryosuke Niwa.
241 * resources/runner.js: Remove the setMemoryEnabled call, it's not required anymore as the memory
242 info is now accessed through window.internals and doesn't need the setting to be enabled to work.
244 2013-05-30 Ryosuke Niwa <rniwa@webkit.org>
246 Web Inspector: tests in PerformanceTests/inspector/ are timing out
247 https://bugs.webkit.org/show_bug.cgi?id=77024
249 Reviewed by Andreas Kling.
251 These tests have been disabled for ages and don't conform to the standard format.
254 * inspector: Removed.
255 * inspector/console-300-lines.html: Removed.
256 * inspector/first-open-elements.html: Removed.
257 * inspector/first-open-resources.html: Removed.
258 * inspector/first-open-scripts.html.broken: Removed.
259 * inspector/heap-snapshot-advanced.html: Removed.
260 * inspector/heap-snapshot-performance-test.js: Removed.
261 * inspector/heap-snapshot.html: Removed.
262 * inspector/inspector-startup-time.html: Removed.
263 * inspector/network-append-30-requests.html.broken: Removed.
264 * inspector/performance-test.js: Removed.
265 * inspector/show-panel.html.broken: Removed.
267 2013-05-27 Benjamin Poulain <benjamin@webkit.org>
269 Add a balanced benchmark for QuerySelector
270 https://bugs.webkit.org/show_bug.cgi?id=116811
272 Reviewed by Sam Weinig.
274 The goal of this benchmark is to have an overview of querySelector as typically used
277 It uses queries similar to what is used by popular websites and applies somewhat
278 similar weighting for each type of query.
280 The tree used for the queries is intentionally kept simple to ensure we measure QuerySelector
281 a not purely the overhead of traversal.
283 * CSS/QuerySelector.html: Added.
284 * CSS/resources/query-selector.html: Added.
286 2013-05-18 Ryosuke Niwa <rniwa@webkit.org>
288 Add a performance test for copying
289 https://bugs.webkit.org/show_bug.cgi?id=116394
291 Reviewed by Andreas Kling.
293 Added. We're going to skip this test by default since it's such a microbenchmark, and also because
294 it currently takes 30 minutes to run. As insane as it sounds, each copy takes rouhgly 57 seconds.
296 Running Interactive/CopyAll.html (1 of 1)
297 RESULT Interactive: CopyAll: Time= 57618.05 ms
298 median= 57135.0 ms, stdev= 1542.07271571 ms, min= 55095.0 ms, max= 60913.0 ms
299 RESULT Interactive: CopyAll: JSHeap= 102811.2 bytes
300 median= 103272.0 bytes, stdev= 1115.28148913 bytes, min= 100648.0 bytes, max= 103504.0 bytes
301 RESULT Interactive: CopyAll: Malloc= 446408712.0 bytes
302 median= 459156772.0 bytes, stdev= 20007346.3266 bytes, min= 415564040.0 bytes, max= 462011928.0 bytes
303 Finished: 1766.883236 s
305 * Interactive/CopyAll.html: Added.
308 2013-05-13 Seokju Kwon <seokju.kwon@gmail.com>
310 Web Inspector: Get rid of native-memory-snapshot in performance test
311 https://bugs.webkit.org/show_bug.cgi?id=116013
313 Reviewed by Andreas Kling.
315 Remove native-memory-snapshot.html from PerformanceTests.
317 * inspector/native-memory-snapshot.html: Removed.
318 * inspector/performance-test.js:
319 (initialize_TimeTracker.Timer):
320 (initialize_TimeTracker.Timer.prototype._dump):
321 (initialize_TimeTracker.InspectorTest.runPerformanceTest):
323 2013-04-10 Benjamin Poulain <bpoulain@apple.com>
325 Mass remove all the empty directories
327 Rubberstamped by Ryosuke Niwa.
329 * Bindings/resources: Removed.
331 2013-04-02 Glenn Adams <glenn@skynav.com>
333 Need japanese line layout performance test
334 https://bugs.webkit.org/show_bug.cgi?id=113811
336 Reviewed by Ryosuke Niwa.
338 Will be used by https://bugs.webkit.org/show_bug.cgi?id=105692 to test potential performance regression
339 for Japanese (and other CJK) line break changes.
341 * Layout/LineLayoutJapanese.html: Added.
342 * Skipped: Skip this test by default.
344 2013-03-29 Andrei Bucur <abucur@adobe.com>
346 [CSS Regions] Add performance tests
347 https://bugs.webkit.org/show_bug.cgi?id=113303
349 Reviewed by Antti Koivisto.
351 Add simple performance tests for regions, without nested named flows: a region chain and a flow article.
352 The regions.js script is used to generate the tests and can set the following parameters: the number of regions,
353 the number of paragraphs, the regions width, height, max-height and the propability of a forced break after a paragraph.
355 The tests are skipped for now. They should be enabled once the regions performance is stable enough to create a baseline.
357 * Layout/RegionsAuto.html: Added. A few regions with a short article. The regions have auto-height and some
358 paragraphs (80%) have forced breaks after. Stress test for the auto-height algorithm.
359 * Layout/RegionsAutoMaxHeight.html: Added. A lot of regions with auto-height and max-height. Tests the impact of
360 max-height on the auto-height algorithm.
361 * Layout/RegionsFixed.html: Added. A lot of regions with a long article. Some paragraphs (50%) have forced breaks after.
362 Stress test for the regions layout algorithm.
363 * Layout/RegionsFixedShort.html: Added. A lot of short regions with a long content. Tests the impact of unforced breaks
365 * Layout/resources/regions.css: Added.
372 * Layout/resources/regions.js: Added.
376 2013-03-26 Ryosuke Niwa <rniwa@webkit.org>
378 Add a performance tests for selecting all content in a document
379 https://bugs.webkit.org/show_bug.cgi?id=113358
381 Reviewed by Levi Weintraub.
383 Add a performance test for selecting all. We wait for paint to happen by setTimeout(~, 0).
386 RESULT Interactive: SelectAll: Time= 652.6 ms
387 median= 644.5 ms, stdev= 54.6177144967 ms, min= 599.0 ms, max= 773.0 ms
389 RESULT Interactive: SelectAll: Time= 654.4 ms
390 median= 633.5 ms, stdev= 55.9223145368 ms, min= 600.0 ms, max= 769.0 ms
392 RESULT Interactive: SelectAll: Time= 657.9 ms
393 median= 640.0 ms, stdev= 54.1420159833 ms, min= 604.0 ms, max= 774.0 ms
395 * Interactive/SelectAll.html: Added.
398 2013-03-19 Alexei Filippov <alph@chromium.org>
400 Web Inspector: Fix heap profiler performance tests.
401 https://bugs.webkit.org/show_bug.cgi?id=112701
403 Reviewed by Yury Semikhatsky.
405 The tests were broken by profile types refactoring.
407 * inspector/heap-snapshot-performance-test.js:
408 (test.performanceTest.step0):
409 (test.performanceTest.step1):
411 2013-03-05 Eric Seidel <eric@webkit.org>
413 Add html-parser-threaded perf test now that the threaded parser is enabled by default
414 https://bugs.webkit.org/show_bug.cgi?id=111200
416 Reviewed by Ryosuke Niwa.
418 The old srcdoc test no longer triggers the threaded parser due to compatibility fixes.
420 * Parser/html-parser-threaded.html: Renamed from PerformanceTests/Parser/html-parser-srcdoc.html.
421 * Skipped: Unfortunately this new test is still skipped too.
423 2013-03-04 Eric Seidel <eric@webkit.org>
425 Add PerformanceTest for document startup via iframe append/remove
426 https://bugs.webkit.org/show_bug.cgi?id=111389
428 Reviewed by Kentaro Hara.
430 We'd like pages with lots of iframes to be fast.
431 This test shows that at least for V8/Chromium we spend
432 all our time booting v8.
434 On my 32-core linux machine I see about 70 runs/sec in
435 Release and 5 runs/sec in Debug.
437 * DOM/iframe-append-remove.html: Added.
439 2013-03-03 Ryosuke Niwa <rniwa@webkit.org>
441 Some perf. tests have variances that differ greatly between runs
442 https://bugs.webkit.org/show_bug.cgi?id=97510
444 Reviewed by Benjamin Poulain.
446 In order to control the number of iterations and processes to use from run-perf-tests, always use 20
447 iterations on all tests except Dromaeo, where even doing 5 iterations is prohibitively slow, by default.
448 Without this change, it'll become extremely hard for us to tweak the number of iterations and processes
449 to use from run-perf-tests.
451 * Animation/balls.html:
453 * DOM/resources/dom-perf.js:
454 (runBenchmarkSuite.PerfTestRunner.measureTime):
455 * Dromaeo/resources/dromaeorunner.js:
456 * Layout/floats_100_100.html:
457 * Layout/floats_100_100_nested.html:
458 * Layout/floats_20_100.html:
459 * Layout/floats_20_100_nested.html:
460 * Layout/floats_2_100.html:
461 * Layout/floats_2_100_nested.html:
462 * Layout/floats_50_100.html:
463 * Layout/floats_50_100_nested.html:
464 * Layout/subtree-detaching.html:
465 * Parser/html5-full-render.html:
466 * SVG/SvgHitTesting.html:
467 * resources/runner.js:
468 * resources/results-template.html:
470 2013-02-25 Ryosuke Niwa <rniwa@webkit.org>
472 Use perf.webkit.org JSON format in results page
473 https://bugs.webkit.org/show_bug.cgi?id=110842
475 Reviewed by Benjamin Poulain.
477 Updated the results page template to use the new JSON format.
479 Since new JSON format doesn't contain statistics such as stdev and min, added statistics.js to compute
480 these values. Also use 95% percentile confidence interval instead of standard deviation in various places.
482 * resources/results-template.html: Added statistics.js as dependency.
483 (TestResult): Updated to take a metric instead of its test. Replaced stdev() with confidenceIntervalDelta()
484 now that we have a fancy Statistics class.
486 (TestRun.webkitRevision):
487 (PerfTestMetric): Renamed from PerfTest since this object now encapsulates each measurement (such as time,
488 JS heap, and malloc) in test. Also added a conversion table from a metric name to a unit since new format
489 doesn't contain units.
490 (PerfTestMetric.name): Updated to compute the full metric name from test name and metric name, matching
492 (PerfTestMetric.isMemoryTest): Explicitly look for 'JSHeap' and 'Malloc' tests.
493 (PerfTestMetric.smallerIsBetter):
495 (attachPlot): Deleted the code to deal with tests that don't provide individual iteration measurement
496 since such tests no longer exist. Also fixed up the code compute y-axis range.
498 (createTableRow.markupForRun): Updated to use confidenceIntervalDelta() instead of stdev().
500 (init.addTests): Added. Recursively add metrics.
502 * resources/statistics.js: Added. Imported from perf.webkit.org.
506 (Statistics.squareSum):
507 (Statistics.sampleStandardDeviation):
508 (Statistics.supportedConfidenceLevels):
509 (Statistics.confidenceIntervalDelta):
510 (Statistics.confidenceInterval):
512 2013-02-11 Alexei Filippov <alph@chromium.org>
514 Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
515 https://bugs.webkit.org/show_bug.cgi?id=108653
517 Reviewed by Yury Semikhatsky.
519 Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
520 In fact these two profile types have not too much in common. So put each into its own domain.
521 It should also help when Profiles panel gets split into several tools.
522 This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
523 change the original InspectorProfilerAgent.
525 * inspector/heap-snapshot-performance-test.js:
526 (test.performanceTest.cleanup):
528 2013-02-05 Dominik Röttsches <dominik.rottsches@intel.com>
530 Add a performance test for arabic line breaking
531 https://bugs.webkit.org/show_bug.cgi?id=108948
533 Reviewed by Eric Seidel.
535 Adding a perfomance test based to exercise the complex
536 font path used in rendering arabic script.
538 * Layout/ArabicLineLayout.html: Added.
539 * Skipped: New test skipped by default as per Ryosuke's request.
541 2013-01-23 Yury Semikhatsky <yurys@chromium.org>
543 Web Inspector: some measurements are missing in PerformanceTests/inspector/heap-*.html
544 https://bugs.webkit.org/show_bug.cgi?id=107687
546 Reviewed by Pavel Feldman.
548 * inspector/heap-snapshot-performance-test.js: override methods on JSHeapSnapshot instead
549 of HeapSnapshot, otherwise overrides from JSHeapSnapshot will rule.
551 2013-01-18 Ryosuke Niwa <rniwa@webkit.org>
553 Skip DOM/TraverseChildNodes.html as intended in r140070.
557 2013-01-17 Dominic Cooney <dominicc@chromium.org>
559 Unreviewed, re-land r140051.
561 I overzealously rolled this out; the test was intended to be
562 skipped, but was not skipped because of a typo in Skipped. See
563 <https://bugs.webkit.org/show_bug.cgi?id=107210>
565 * Parser/html-parser-srcdoc.html: Added.
566 * Skipped: Big-P Parser.
568 2013-01-17 Sheriff Bot <webkit.review.bot@gmail.com>
570 Unreviewed, rolling out r140051.
571 http://trac.webkit.org/changeset/140051
572 https://bugs.webkit.org/show_bug.cgi?id=107210
574 html-parser-srcdoc.html failing on Chromium Linux Perf and
575 Chromium Mac Perf with a lot of error spew about blocked
576 script execution in 'about:srcdoc' (Requested by dominicc on
579 * Parser/html-parser-srcdoc.html: Removed.
582 2013-01-16 Ryosuke Niwa <rniwa@webkit.org>
584 Remove NodeListsNodeData when it's no longer needed
585 https://bugs.webkit.org/show_bug.cgi?id=107074
587 Reviewed by Darin Adler.
589 Added a micro benchmark to see the benefit of removing NodeListsNodeData.
590 The test traverses all elements in the html5 specification page and accesses childNodes.
592 Don't enable this test for now since it's really a micro benchmark specifically
593 designed to test this patch.
595 * DOM/TraverseChildNodes.html: Added.
596 * Skipped: Don't enable newly added test by default.
597 * resources/results-template.html: Compare against the unscaled unit (e.g. "bytes") as
598 opposed to scaled units such as "K bytes".
599 * resources/runner.js:
600 (.start): Moved the code to call currentTest.setup from measureRunsPerSecondOnce so that
601 it'll be ran for all test types, namely of PerfTestRunner.measureTime.
602 (.measureRunsPerSecondOnce):
604 2013-01-17 Eric Seidel <eric@webkit.org>
606 Add a version of the html-parser benchmark which uses srcdoc instead of document.write so it tests the threaded parser
607 https://bugs.webkit.org/show_bug.cgi?id=107158
609 Reviewed by Ryosuke Niwa.
611 Currently this test even opts-in to the threaded parser if available.
612 We'll remove that line when the threaded parser becomes default or goes away.
614 * Parser/html-parser-srcdoc.html: Added.
616 2013-01-16 Arnaud Renevier <a.renevier@sisa.samsung.com>
618 inconsistency in drawImage with target rect negative dimensions.
619 https://bugs.webkit.org/show_bug.cgi?id=100026
621 Reviewed by Dean Jackson.
623 Create a drawImage performance test. There is no significative change
624 in performance: 27144.6851528 runs/s without the patch; 27153.517612
625 runs/s with the patch. Test is currently skipped.
627 * Canvas/drawimage.html: Added.
630 2013-01-15 Dominic Cooney <dominicc@chromium.org>
632 Allow zero values as results from the runFunction.
633 https://bugs.webkit.org/show_bug.cgi?id=102500
635 Reviewed by Kentaro Hara.
637 DOM/DOMWalk.js fails on the Chromium Win perf bot because one or
638 more parts of the test usually return zero at some point.
640 * resources/runner.js: Accept merely non-negative results.
642 2012-12-28 Yury Semikhatsky <yurys@chromium.org>
644 Web Inspector: rename distanceToWindow to distance
645 https://bugs.webkit.org/show_bug.cgi?id=105823
647 Reviewed by Pavel Feldman.
649 Updated heap profiler performance test after renaming distanceToWindow to distance.
651 * inspector/heap-snapshot-performance-test.js:
653 2012-12-18 Hayato Ito <hayato@chromium.org>
655 Use element.webkitCreateShadowRoot instead of WebKitShadowRoot in PerformanceTests.
656 https://bugs.webkit.org/show_bug.cgi?id=105256
658 Reviewed by Dimitri Glazkov.
660 WebKitShadowRoot constructor was deleted in favor of element.webkitCreateShadowRoot().
662 * ShadowDOM/ChangingClassNameShadowDOM.html:
663 * ShadowDOM/ChangingSelect.html:
664 * ShadowDOM/ContentReprojection.html:
665 * ShadowDOM/DistributionWithMultipleShadowRoots.html:
666 * ShadowDOM/LargeDistributionWithLayout.html:
667 * ShadowDOM/MultipleInsertionPoints.html:
668 * ShadowDOM/ShadowReprojection.html:
669 * ShadowDOM/SmallDistributionWithLayout.html:
671 2012-12-17 Shinya Kawanaka <shinyak@chromium.org>
673 [Shadow] LargeDistributionWithLayout.html should be updated
674 https://bugs.webkit.org/show_bug.cgi?id=105242
676 Reviewed by Ryosuke Niwa.
678 Since this test was written when distribution took O(N^2). However, now it's almost O(N), so this test finishes
679 in very short time. We should convert it unit to runs/s.
681 This test contains a some error to cause test failure, e.g. using obsolete API, so they also should be fixed.
683 * ShadowDOM/LargeDistributionWithLayout.html:
685 2012-12-13 Ryosuke Niwa <rniwa@webkit.org>
687 [chromium perf] DOM/DOMWalk.html failures
688 https://bugs.webkit.org/show_bug.cgi?id=104866
690 Reviewed by Eric Seidel.
692 Use PerfTestRunner.now which in turn uses window.performance.now() when it's available.
694 * DOM/resources/dom-perf.js:
697 (BenchmarkSuite.prototype.RunSingle):
699 2012-12-05 Shinya Kawanaka <shinyak@chromium.org>
701 [Shadow] Performance tests for ShadowDOM distribution
702 https://bugs.webkit.org/show_bug.cgi?id=103617
704 Reviewed by Dimitri Glazkov.
706 We would like to measure ShadowDOM distribution performance in various cases.
707 In this patch, we add performance tests for several distribution patterns.
709 * ShadowDOM/ContentReprojection.html: Added.
710 * ShadowDOM/DistributionWithMultipleShadowRoots.html: Added.
711 * ShadowDOM/LargeDistributionWithLayout.html: Added.
712 * ShadowDOM/MultipleInsertionPoints.html: Added.
713 * ShadowDOM/ShadowReprojection.html: Added.
714 * ShadowDOM/SmallDistributionWithLayout.html: Added.
716 2012-12-05 Shinya Kawanaka <shinyak@chromium.org>
718 [Shadow] Performance tests of distribution for changing className
719 https://bugs.webkit.org/show_bug.cgi?id=103612
721 Reviewed by Dimitri Glazkov.
723 We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM.
724 In this patch, we add a case when classNames of distributed elemeents are changed.
726 * ShadowDOM/ChangingClassName.html: Added.
727 * ShadowDOM/ChangingClassNameShadowDOM.html: Added.
729 2012-12-03 Ryosuke Niwa <rniwa@webkit.org>
731 Dromaeo should report individual test result
732 https://bugs.webkit.org/show_bug.cgi?id=99800
734 Reviewed by Eric Seidel.
736 Made one small modification to Droameo's webrunner.js so that it reports individual runs/s values
737 for each subtest. This allows us to compute the aggregated run/s for each iteration like other
740 Also stop measuring memory usage in Dromaeo tests because some Dromaeo tests (e.g. jslib-modify-jquery)
741 have unrealistic memory usage, and measuring them at the time of teardown doesn't make much sense.
743 * Animation/balls.html: Fixed typo: measureValueAync.
744 * Dromaeo/resources/dromaeo/web/webrunner.js:
746 * Dromaeo/resources/dromaeorunner.js:
747 (DRT.setup): Call prepareToMeasureValuesAsync so that DRT.teardown can use meausreValueAsync, and log
748 "Running 5 times". Since the log container will be inserted before iframe, we need to explicitly insert
749 the iframe as the first child of the body element to avoid logs from affecting the iframe's position.
750 Also specify the number of iterations by calling PerfTestRunner.iterationCount() so that we may adjust
751 the number of iterations in PerfTestRunner.
753 (DRT.progress): Log individual measurement for each subtest.
754 (DRT.teardown): Compute the aggregated result for each iteration, and log them using measureValueAsync.
756 * resources/runner.js:
757 (PerfTestRunner.logStatistics): Merged printStatistics since it's no longer needed after r131638.
758 (PerfTestRunner): Removed getAndPrintMemoryStatistics since it was used only in Dromaeo tests but
759 we no longer measure memory usage in Dromaeo tests.
761 (start): Increment completedRuns from -1 to 0 for Dromaeo tests where we don't want to ignore the initial
762 measurement. Note that ignoreWarmUpAndLog ignores the measurements for which completedRuns is negative.
764 (ignoreWarmUpAndLog): We don't measure memory usage in Dromaeo tests. See above.
765 (PerfTestRunner.iterationCount): Added. This abstraction allows us to auto-adjust the number of iterations from
766 run-perf-tests in near future.
767 (PerfTestRunner.measureValueAsync): Renamed from measureValueAync.
769 2012-11-29 Shinya Kawanaka <shinyak@chromium.org>
771 [Shadow] Performance tests of distribution for changing select attribute
772 https://bugs.webkit.org/show_bug.cgi?id=103611
774 Reviewed by Hajime Morita.
776 We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM.
777 In this patch, we add a case when select attribute of HTMLContentElement is changed.
779 * ShadowDOM/ChangingSelect.html: Added.
780 * ShadowDOM/ChangingSelectWithoutShadow.html: Added.
783 2012-11-19 Shinya Kawanaka <shinyak@chromium.org>
785 Changing id, className, or attribute should invalidate distribution
786 https://bugs.webkit.org/show_bug.cgi?id=100738
788 Reviewed by Dimitri Glazkov.
790 Added test code to modify id/class/attribute.
792 * DOM/ModifyAttribute.html: Added.
793 * DOM/resources/dom-perf/modify-attribute.js: Added.
794 (ModifyAttribute.CreateElementToSetUp):
795 (ModifyAttribute.ModifyId):
796 (ModifyAttribute.ModifyClass):
797 (ModifyAttribute.ModifyTitle):
799 2012-11-14 Ryosuke Niwa <rniwa@webkit.org>
801 runCount in runner.js should be renamed to iterationCount
802 https://bugs.webkit.org/show_bug.cgi?id=102208
804 Reviewed by Tony Chang.
806 Prior to this patch, there were terminology confusions between "runs" and "iterations".
807 The term "run" should refer to running a performance test once, and "iteration" should
808 refer to one measurement in the test. i.e. Executing run-perf-should once will result in
809 a single "run" of performance tests and each test may execute multiple "iterations"
812 Unfortunately, we still overload the meaning of "runs" in "runs/s" (is "function calls/s")
813 but that could be addressed in a separate patch.
815 * Animation/balls.html:
817 * DOM/resources/dom-perf.js:
818 * Layout/floats_100_100.html:
819 * Layout/floats_100_100_nested.html:
820 * Layout/floats_20_100.html:
821 * Layout/floats_20_100_nested.html:
822 * Layout/floats_2_100.html:
823 * Layout/floats_2_100_nested.html:
824 * Layout/floats_50_100.html:
825 * Layout/floats_50_100_nested.html:
826 * Layout/subtree-detaching.html:
827 * Parser/html5-full-render.html:
828 * SVG/SvgHitTesting.html:
829 * resources/runner.js:
831 2012-11-13 Dimitri Glazkov <dglazkov@chromium.org>
833 Unreviewed, rolling out r134367.
834 http://trac.webkit.org/changeset/134367
835 https://bugs.webkit.org/show_bug.cgi?id=100738
837 Speculative rollout, could have cause Dromaeo setAttribute
840 * DOM/ModifyAttribute.html: Removed.
841 * DOM/resources/dom-perf/modify-attribute.js: Removed.
843 2012-11-12 Shinya Kawanaka <shinyak@chromium.org>
845 Changing id, className, or attribute should invalidate distribution
846 https://bugs.webkit.org/show_bug.cgi?id=100738
848 Reviewed by Dimitri Glazkov.
850 Added test code to modify id/class/attribute.
852 * DOM/ModifyAttribute.html: Added.
853 * DOM/resources/dom-perf/modify-attribute.js: Added.
854 (ModifyAttribute.CreateElementToSetUp):
855 (ModifyAttribute.ModifyId):
856 (ModifyAttribute.ModifyClass):
857 (ModifyAttribute.ModifyTitle):
859 2012-11-06 Adam Barth <abarth@webkit.org>
861 DOMImplementation should use ScriptWrappable
862 https://bugs.webkit.org/show_bug.cgi?id=101279
864 Reviewed by Eric Seidel.
866 This simple PerformanceTest measure how quickly we can access
867 document.implementation. The goal of this performance test is just to
868 validate that using ScriptWrappable actually makes the bindings faster.
870 * Bindings/document-implementation.html: Added.
872 2012-11-05 Geoffrey Garen <ggaren@apple.com>
874 WebKit should have performance tests for book chapter reflow
875 https://bugs.webkit.org/show_bug.cgi?id=101271
877 Reviewed by Dan Bernstein.
879 I grabbed a book chapter from the Project Gutenberg front page:
881 * Layout/chapter-reflow-once.html: Added.
882 * Layout/chapter-reflow-thrice.html: Added.
883 * Layout/chapter-reflow-twice.html: Added.
884 * Layout/chapter-reflow.html: Added.
886 I also created a torture-test random text generator:
888 * Layout/chapter-reflow-once-random.html: Added.
890 2012-10-29 Zoltan Horvath <zoltan@webkit.org>
892 Turn PageLoad tests into simple performancetests, commit #7 (last)
893 https://bugs.webkit.org/show_bug.cgi?id=99899
895 Reviewed by Ryosuke Niwa.
897 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
898 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
899 to their new location and adds html/js wrappers for them.
901 This is the #7 (last) commit of the whole patch.
904 * PageLoad/svg: Removed.
905 * PageLoad/svg/LICENSES: Removed.
906 * PageLoad/svg/files: Removed.
907 * PageLoad/svg/files/33041-Samurai.svg: Removed.
908 * PageLoad/svg/files/42450-under the see.svg: Removed.
909 * PageLoad/svg/files/world-iso.svg: Removed.
910 * PageLoad/svg/svg.pltsuite: Removed.
911 * SVG/Samurai.html: Added.
912 * SVG/UnderTheSee.html: Added.
913 * SVG/WorldIso.html: Added.
914 * SVG/resources/LICENSES: Copied from PerformanceTests/PageLoad/svg/LICENSES.
915 * SVG/resources/Samurai.svg: Copied from PerformanceTests/PageLoad/svg/files/33041-Samurai.svg.
916 * SVG/resources/UnderTheSee.svg: Copied from PerformanceTests/PageLoad/svg/files/42450-under%20the%20see.svg.
917 * SVG/resources/WorldIso.svg: Copied from PerformanceTests/PageLoad/svg/files/world-iso.svg.
918 * SVG/resources/svg.pltsuite: Copied from PerformanceTests/PageLoad/svg/svg.pltsuite.
919 * Skipped: Rename the files on the skipped list also.
921 2012-10-26 Eric Seidel <eric@webkit.org>
923 Add a microbenchmark for Hindi (complex-text) line-layout
924 https://bugs.webkit.org/show_bug.cgi?id=100024
926 Reviewed by Ryosuke Niwa.
928 I wrote this to make sure that we don't regress line-breaking performance
929 for the complex-text codepath. This test has shown me that TOT is
930 already 5% slower than Safari 6.0.1 here. :(
932 * Layout/hindi-line-layout.html: Added.
934 2012-10-26 Zoltan Horvath <zoltan@webkit.org>
936 Turn PageLoad tests into simple performancetests, commit #6
937 https://bugs.webkit.org/show_bug.cgi?id=99899
939 Reviewed by Ryosuke Niwa.
941 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
942 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
943 to their new location and adds html/js wrappers for them.
945 This is the #6 commit of the whole patch.
947 * PageLoad/svg/files/gearflowers.svg: Removed.
948 * PageLoad/svg/files/hereGear4.svg: Removed.
949 * PageLoad/svg/files/worldcup.svg: Removed.
950 * SVG/GearFlowers.html: Added.
951 * SVG/HereGear.html: Added.
952 * SVG/Worldcup.html: Added.
953 * SVG/resources/GearFlowers.svg: Copied from PerformanceTests/PageLoad/svg/files/gearflowers.svg.
954 * SVG/resources/HereGear.svg: Copied from PerformanceTests/PageLoad/svg/files/hereGear4.svg.
955 * SVG/resources/Worldcup.svg: Copied from PerformanceTests/PageLoad/svg/files/worldcup.svg.
956 * Skipped: Rename the files on the skipped list also.
958 2012-10-26 Zoltan Horvath <zoltan@webkit.org>
960 Turn PageLoad tests into simple performancetests, commit #5
961 https://bugs.webkit.org/show_bug.cgi?id=99899
963 Reviewed by Ryosuke Niwa.
965 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
966 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
967 to their new location and adds html/js wrappers for them.
969 This is the #5 commit of the whole patch.
971 * PageLoad/svg/files/Harvey_Rayner.svg: Removed.
972 * PageLoad/svg/files/Sierpinski_carpet_6.svg: Removed.
973 * PageLoad/svg/files/mtsthelens.svg: Removed.
974 * PageLoad/svg/files/mtsthelens0.jpg: Removed.
975 * SVG/HarveyRayner.html: Added.
976 * SVG/MtSaintHelens.html: Added.
977 * SVG/SierpinskiCarpet.html: Added.
978 * SVG/resources/HarveyRayner.svg: Copied from PerformanceTests/PageLoad/svg/files/Harvey_Rayner.svg.
979 * SVG/resources/MtSaintHelens.svg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens.svg.
980 * SVG/resources/SierpinskiCarpet.svg: Copied from PerformanceTests/PageLoad/svg/files/Sierpinski_carpet_6.svg.
981 * SVG/resources/mtsthelens0.jpg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens0.jpg.
982 * Skipped: Rename the files on the skipped list also.
984 2012-10-25 Zoltan Horvath <zoltan@webkit.org>
986 Turn PageLoad tests into simple performancetests, commit #4
987 https://bugs.webkit.org/show_bug.cgi?id=99899
989 Reviewed by Ryosuke Niwa.
991 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
992 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
993 to their new location and adds html/js wrappers for them.
995 This is the #4 commit of the whole patch.
997 * PageLoad/svg/files/france.svg: Removed.
998 * PageLoad/svg/files/francobollo_gnome_ezechi_02.svg: Removed.
999 * SVG/France.html: Added.
1000 * SVG/FrancoBolloGnomeEzechi.html: Added.
1001 * SVG/resources/France.svg: Copied from PerformanceTests/PageLoad/svg/files/france.svg.
1002 * SVG/resources/FrancoBolloGnomeEzechi.svg: Copied from PerformanceTests/PageLoad/svg/files/francobollo_gnome_ezechi_02.svg.
1003 * Skipped: Rename the files on the skipped list also.
1005 2012-10-25 Zoltan Horvath <zoltan@webkit.org>
1007 Turn PageLoad tests into simple performancetests, commit #3
1008 https://bugs.webkit.org/show_bug.cgi?id=99899
1010 Reviewed by Ryosuke Niwa.
1012 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1013 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1014 to their new location and adds html/js wrappers for them.
1016 This is the #3 commit of the whole patch.
1018 * PageLoad/svg/files/42470-flower_from_my_garden_v2.svg: Removed.
1019 * PageLoad/svg/files/44057-drops on a blade.svg: Removed.
1020 * PageLoad/svg/files/deb9frac1.svg: Removed.
1021 * PageLoad/svg/files/food_leif_lodahl_01.svg: Removed.
1022 * SVG/Debian.html: Added.
1023 * SVG/DropsOnABlade.html: Added.
1024 * SVG/FlowerFromMyGarden.html: Added.
1025 * SVG/FoodLeifLodahl.html: Added.
1026 * SVG/resources/Debian.svg: Copied from PerformanceTests/PageLoad/svg/files/deb9frac1.svg.
1027 * SVG/resources/DropsOnABlade.svg: Copied from PerformanceTests/PageLoad/svg/files/44057-drops%20on%20a%20blade.svg.
1028 * SVG/resources/FlowerFromMyGarden.svg: Copied from PerformanceTests/PageLoad/svg/files/42470-flower_from_my_garden_v2.svg.
1029 * SVG/resources/FoodLeifLodahl.svg: Copied from PerformanceTests/PageLoad/svg/files/food_leif_lodahl_01.svg.
1031 2012-10-24 Zoltan Horvath <zoltan@webkit.org>
1033 Turn PageLoad tests into simple performancetests, commit #2
1034 https://bugs.webkit.org/show_bug.cgi?id=99899
1036 Reviewed by Ryosuke Niwa.
1038 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1039 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1040 to their new location and adds html/js wrappers for them.
1042 This is the #2 commit of the whole patch.
1044 * PageLoad/svg/files/cacuts_01.svg: Removed.
1045 * PageLoad/svg/files/cowboy.svg: Removed.
1046 * PageLoad/svg/files/crawfish2_ganson.svg: Removed.
1047 * SVG/Cactus.html: Added.
1048 * SVG/Cowboy.html: Added.
1049 * SVG/CrawFishGanson.html: Added.
1050 * SVG/resources/Cactus.svg: Copied from PerformanceTests/PageLoad/svg/files/cacuts_01.svg.
1051 * SVG/resources/Cowboy.svg: Copied from PerformanceTests/PageLoad/svg/files/cowboy.svg.
1052 * SVG/resources/CrawFishGanson.svg: Copied from PerformanceTests/PageLoad/svg/files/crawfish2_ganson.svg.
1053 * Skipped: Remove az-lizard_benji_park_01.svg from the skipped list.
1055 2012-10-24 Zoltan Horvath <zoltan@webkit.org>
1057 Turn PageLoad tests into simple performancetests, commit #1
1058 https://bugs.webkit.org/show_bug.cgi?id=99899
1060 Reviewed by Ryosuke Niwa.
1062 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1063 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1064 to their new location and adds html/js wrappers for them.
1066 This is the #1 commit of the whole patch.
1068 * PageLoad/svg/files/az-lizard_benji_park_01.svg: Removed.
1069 * PageLoad/svg/files/bamboo_01.svg: Removed.
1070 * SVG/AzLizardBenjiPark.html: Added.
1071 * SVG/Bamboo.html: Added.
1072 * SVG/resources: Added.
1073 * SVG/resources/AzLizardBenjiPark.svg: Copied from PerformanceTests/PageLoad/svg/files/az-lizard_benji_park_01.svg.
1074 * SVG/resources/Bamboo.svg: Copied from PerformanceTests/PageLoad/svg/files/bamboo_01.svg.
1076 2012-10-24 Zoltan Horvath <zoltan@webkit.org>
1078 REGRESSION(r131982): Skip SVG/SvgNestedUse.html performancetest since it is crashing
1079 https://bugs.webkit.org/show_bug.cgi?id=100262
1083 Skip until proper fix.
1085 * Skipped: Add SVG/SvgNestedUse.html
1087 2012-10-23 Zoltan Horvath <zoltan@webkit.org>
1089 Store the loaded file locally in measurePageLoadTime
1090 https://bugs.webkit.org/show_bug.cgi?id=100172
1092 Reviewed by Csaba Osztrogonác.
1094 Store the loaded file as a local variable instead of attaching it to the test object.
1095 Handle chunkSize inside test.run.
1097 * resources/runner.js:
1100 2012-10-23 Zoltan Horvath <zoltan@webkit.org>
1102 Add measurePageLoadTime function to PerfTestRunner
1103 https://bugs.webkit.org/show_bug.cgi?id=100029
1105 Reviewed by Ryosuke Niwa.
1107 Adopt chunk based loading logic from html5-full-render.html into measurePageLoadTime function,
1108 this is needed to measure the performance and the memory consumption of the PageLoadTests as
1109 we do it for all other performancetests.
1111 * Parser/html5-full-render.html: Move the behavior to runner.js.
1112 * resources/runner.js:
1113 (.): Add measurePageLoadTime function.
1115 2012-10-22 Adam Barth <abarth@webkit.org>
1117 [V8] Vastly simplify V8GCController's NodeVisitor
1118 https://bugs.webkit.org/show_bug.cgi?id=99884
1120 Reviewed by Kentaro Hara.
1122 Adds some performance tests for the garbage collector.
1124 * Bindings/gc-forest.html: Added.
1125 * Bindings/gc-mini-tree.html: Added.
1126 * Bindings/gc-tree.html: Added.
1128 2012-10-17 Ryosuke Niwa <rniwa@webkit.org>
1130 Bump up the number of iterations of html5-full-render to 5
1131 https://bugs.webkit.org/show_bug.cgi?id=99657
1133 Reviewed by Andreas Kling.
1135 Now that html5-full-render.html runs in less than 15 seconds after r131553,
1136 we can afford to get 5 instead of 2 samples.
1138 * Parser/html5-full-render.html:
1140 2012-10-17 Ryosuke Niwa <rniwa@webkit.org>
1142 Rename PerfTestRunner.runPerSecond to PerfTestRunner.measureRunsPerSecond for consistency
1143 https://bugs.webkit.org/show_bug.cgi?id=99642
1145 Reviewed by Dirk Pranke.
1149 * Bindings/append-child.html:
1150 * Bindings/create-element.html:
1151 * Bindings/event-target-wrapper.html:
1152 * Bindings/first-child.html:
1153 * Bindings/get-attribute.html:
1154 * Bindings/get-element-by-id.html:
1155 * Bindings/get-elements-by-tag-name.html:
1156 * Bindings/id-getter.html:
1157 * Bindings/id-setter.html:
1158 * Bindings/insert-before.html:
1159 * Bindings/node-list-access.html:
1160 * Bindings/scroll-top.html:
1161 * Bindings/set-attribute.html:
1162 * Bindings/typed-array-construct-from-array.html:
1163 * Bindings/typed-array-construct-from-same-type.html:
1164 * Bindings/typed-array-construct-from-typed.html:
1165 * Bindings/typed-array-set-from-typed.html:
1166 * Bindings/undefined-first-child.html:
1167 * Bindings/undefined-get-element-by-id.html:
1168 * Bindings/undefined-id-getter.html:
1169 * CSS/CSSPropertySetterGetter.html:
1170 * CSS/CSSPropertyUpdateValue.html:
1171 * CSS/PseudoClassSelectors.html:
1172 * DOM/textarea-dom.html:
1173 * DOM/textarea-edit.html:
1174 * Interactive/resources/window-resize.js:
1175 * Layout/flexbox-column-nowrap.html:
1176 * Layout/flexbox-column-wrap.html:
1177 * Layout/flexbox-row-nowrap.html:
1178 * Layout/flexbox-row-wrap.html:
1179 * Layout/line-layout.html:
1180 * Parser/css-parser-yui.html:
1181 * Parser/innerHTML-setter.html:
1182 * Parser/query-selector-deep.html:
1183 * Parser/query-selector-first.html:
1184 * Parser/query-selector-last.html:
1185 * Parser/simple-url.html:
1186 * Parser/textarea-parsing.html:
1187 * Parser/tiny-innerHTML.html:
1188 * Parser/url-parser.html:
1189 * Parser/xml-parser.html:
1190 * SVG/SvgNestedUse.html:
1191 * resources/runner.js:
1193 2012-10-17 Ryosuke Niwa <rniwa@webkit.org>
1195 Performance test should support asynchronous tests
1196 https://bugs.webkit.org/show_bug.cgi?id=95668
1198 Reviewed by Dirk Pranke.
1200 Added PerfTestRunner.prepareToMeasureValuesAsync and PerfTestRunner.measureValueAsync,
1201 and deployed it in Animation/balls.
1203 * Animation/balls.html:
1204 * resources/runner.js:
1206 2012-10-16 Elliott Sprehn <esprehn@chromium.org>
1208 html5-full-render.html test uses substring but meant substr
1209 https://bugs.webkit.org/show_bug.cgi?id=99495
1211 Reviewed by Adam Barth.
1213 This test intended to chunk up the HTML5 spec into chunks of 500k chars, but used
1214 substring(to,from) instead of substr(from,length) so it actually loaded 5x more
1215 content than was in the HTML5 spec.
1217 * Parser/html5-full-render.html:
1219 2012-10-11 James Simonsen <simonjam@chromium.org>
1221 unprefix window.performance.webkitNow()
1222 https://bugs.webkit.org/show_bug.cgi?id=88278
1224 Reviewed by Tony Gentilcore.
1226 * resources/runner.js: Bind to proper object to avoid invalid invocation errors.
1228 2012-10-08 Ryosuke Niwa <rniwa@webkit.org>
1230 Skip Layout/subtree-detaching.html temporarily as it's very noisy and
1231 takes 112s to run on Chromium Mac. This is tracked by the bug 98708.
1235 2012-10-08 Ryosuke Niwa <rniwa@webkit.org>
1237 Perf. test results page is broken when runs have different sets of tests
1238 https://bugs.webkit.org/show_bug.cgi?id=98691
1240 Reviewed by Daniel Bates.
1242 Add "missing" columns for tests that are missing some runs.
1244 Also fix regressions from the previous patch:
1245 - Make reference run switch work again
1246 - Load jquery plugins from the remote server when the jquery is loaded from the remote server.
1248 * resources/results-template.html:
1250 2012-10-08 Ryosuke Niwa <rniwa@webkit.org>
1252 Perf test pesults page takes forever to load on a machine with a slow Internet connection
1253 https://bugs.webkit.org/show_bug.cgi?id=98561
1255 Reviewed by Ojan Vafai.
1257 Try loading jquery both locally and remotely, and use the same method to load the remaining
1258 jquery plugins when either one succeeds.
1260 * resources/results-template.html:
1262 2012-10-04 Hayato Ito <hayato@chromium.org>
1264 [Refactoring] Introduce a traversal strategy in SelectorChecker
1265 https://bugs.webkit.org/show_bug.cgi?id=97298
1267 Reviewed by Antti Koivisto.
1269 Introduces querySelector() performance tests to check SelectorChecker performance.
1271 * CSS/PseudoClassSelectors.html: Added.
1273 2012-10-03 Philip Rogers <pdr@google.com>
1275 Force GC between PageLoad tests.
1276 https://bugs.webkit.org/show_bug.cgi?id=98203
1278 Reviewed by Ryosuke Niwa.
1280 Previously, our PageLoad PerfTests had multi-modal distributions,
1281 typically with a small cluster at 1-2x the median. This turned out
1282 to be caused by not garbage collecting between tests!
1284 This patch adds a new file, force-gc.html, and loads this file between
1285 PageLoad tests to force a GC. I manually verified that this cleans up
1286 our perf test outliers.
1288 * resources/force-gc.html: Added.
1290 2012-10-03 Julien Chaffraix <jchaffraix@webkit.org>
1292 Add a performance test for subtree detaching
1293 https://bugs.webkit.org/show_bug.cgi?id=98281
1295 Reviewed by Eric Seidel.
1297 The new test tries to stress detaching on a heavy subtree (2 levels deep but with 1,000 nodes per level).
1298 We set display: none on the root and measure the time it takes to update the tree. Note that we will also
1299 measure the time taken by recalcStyle and relayout but I don't think we can avoid that.
1301 * Layout/subtree-detaching.html: Added.
1303 2012-10-02 Ryosuke Niwa <rniwa@webkit.org>
1305 Build fix after r130135. Dromaeo tests only report single memory value,
1306 and computeStatistics should report variance as 0 in such cases.
1308 * resources/runner.js:
1310 2012-10-02 Philip Rogers <pdr@google.com>
1312 Fix PerfTest standard deviation calculation.
1313 https://bugs.webkit.org/show_bug.cgi?id=98115
1315 Reviewed by Ryosuke Niwa.
1317 Previously our standard deviation calculation was incorrect. This patch
1318 updates perftest.py's algorithm to calculate the sample standard deviation
1319 (with Bessel's correction) using Knuth's online algorithm:
1320 http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm
1321 An existing test has been modified to prove our new results.
1323 This patch also updates runner.js to use Bessel's correction in
1324 its sample standard deviation calculation, which is more accurate
1325 for small sample sizes.
1327 Additionally, runner.js has been modified to not calculate
1328 the 'sum' statistic, which was not very useful.
1330 * resources/runner.js:
1331 (PerfTestRunner.computeStatistics):
1333 2012-10-01 Ryosuke Niwa <rniwa@webkit.org>
1335 PerfTestRunner: Move all functions into the closure and always use double quotation for string literals
1336 https://bugs.webkit.org/show_bug.cgi?id=98093
1338 Reviewed by Ojan Vafai.
1340 Move all methods of PerfTestRunner into the closure that defines it.
1341 Also always use double quotations for string literals for consistency.
1343 * resources/runner.js:
1345 2012-10-01 Ryosuke Niwa <rniwa@webkit.org>
1347 Encapsulate private properties in PerfTestRunner better
1348 https://bugs.webkit.org/show_bug.cgi?id=97833
1350 Reviewed by Ojan Vafai.
1352 This patch moves "private" methods and properties of PerfTestRunner into a closure so that they're
1353 inaccssible from outside. Also catch exceptions from test.run, test.done, and other runner code
1354 to ensure we call notifyDone() even if we broke tests. Otherwise DRT will timeout and we end up
1355 waiting for 10 minutes per each broken test on bots.
1357 * resources/runner.js:
1358 (PerfTestRunner.gc):
1359 (logInDocument): Extracted from PerfTestRunner.log.
1360 (PerfTestRunner.log): Moved.
1361 (logFatalError): Added.
1362 (start): Renamed from PerfTestRunner._start.
1363 (scheduleNextRun): Extracted from PerfTestRunner._runLoop. Also catch any exceptions that happen
1364 in the runner and ignoreWarmUpAndLog so that we don't end up timing out. We call logFatalError in
1365 such cases, which in turn ensures notifyDone() is called.
1366 (ignoreWarmUpAndLog): Renamed from PerfTestRunner._ignoreWarmUpAndLog.
1367 (finish): Extracted from PerfTestRunner._runLoop.
1368 (PerfTestRunner.measureTime): Moved. The initialization of runCount is moved into start().
1369 (measureTimeOnce): Renamed from PerfTestRunner._measureTimeOnce.
1370 (PerfTestRunner.runPerSecond): Moved. Ditto about runCount.
1371 (measureRunsPerSecondOnce): Renamed from PerfTestRunner._measureRunsPerSecondOnce.
1372 (callRunAndMeasureTime): Renamed from PerfTestRunner._perSecondRunnerIterator.
1374 2012-10-01 Florin Malita <fmalita@chromium.org>
1376 Add a performance test for nested <use> elements
1377 https://bugs.webkit.org/show_bug.cgi?id=98047
1379 Reviewed by Ryosuke Niwa.
1381 Currently at ~5 runs per second on my workstation, but should go up significantly (100+)
1382 after landing a fix for https://bugs.webkit.org/show_bug.cgi?id=97905.
1384 * SVG/SvgNestedUse.html: Added.
1386 2012-09-28 Ryosuke Niwa <rniwa@webkit.org>
1388 Add back test.runCount for runPerSecond as it's used by tests in fast/harness/perftests.
1390 * resources/runner.js:
1391 (PerfTestRunner.runPerSecond):
1393 2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
1395 Build fix after r129824.
1397 * DOM/resources/dom-perf.js:
1398 (runBenchmarkSuite):
1400 2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
1402 Remove unused features and reduce code duplications in PerfTestRunner
1403 https://bugs.webkit.org/show_bug.cgi?id=97852
1405 Reviewed by Kentaro Hara.
1407 Made the following refactoring changes:
1408 - Remove PerfTestRunner.info since it's never used.
1409 - Moved the js heap/malloc related functions up to where they belong.
1410 - Moved the initialization of _callsPerIteration, _test, and -description into _start,
1411 and stopped initializing _runFunction and _doneFunction since both test times now
1413 - Made _measureTimeOnce and _measureRunsPerSecondOnce return the measured value
1414 instead of calling ignoreWarmUpAndLog and _runLoop to share the code; they're now
1415 called in _measureRunsPerSecondOnce.
1417 * resources/runner.js:
1418 (PerfTestRunner.storeHeapResults): Moved.
1419 (PerfTestRunner.getUsedMallocHeap): Moved.
1420 (PerfTestRunner.getUsedJSHeap): Moved.
1421 (PerfTestRunner.getAndPrintMemoryStatistics): Moved.
1422 (PerfTestRunner._scheduleNextMeasurementOrNotifyDone): Renamed from _runLoop. Calls
1423 ignoreWarmUpAndLog and schedules the next call.
1424 (PerfTestRunner._measureTimeOnce): Renamed from _runner.
1425 (PerfTestRunner._start): Renamed from initAndStartLoop.
1426 (PerfTestRunner.measureTime):
1427 (PerfTestRunner.runPerSecond):
1428 (PerfTestRunner._measureRunsPerSecondOnce): Renamed from _measureRunsPerSecondOnce.
1429 (PerfTestRunner._perSecondRunnerIterator):
1431 2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
1433 PerfTestRunner.run should take an object
1434 https://bugs.webkit.org/show_bug.cgi?id=97743
1436 Reviewed by Kentaro Hara.
1438 Rename PerfTestRunner.run to PerfTestRunner.measureTime and make it take an object instead of
1439 5 arguments. Also get rid of PerfTestRunner._loopsPerRun since it's no longer used (it's always 1).
1441 * CSS/StyleSheetInsert.html:
1442 * DOM/resources/dom-perf.js:
1443 * Layout/floats_100_100.html:
1444 * Layout/floats_100_100_nested.html:
1445 * Layout/floats_20_100.html:
1446 * Layout/floats_20_100_nested.html:
1447 * Layout/floats_2_100.html:
1448 * Layout/floats_2_100_nested.html:
1449 * Layout/floats_50_100.html:
1450 * Layout/floats_50_100_nested.html:
1451 * Parser/html-parser.html:
1452 * Parser/html5-full-render.html:
1453 * SVG/SvgCubics.html:
1454 * SVG/SvgHitTesting.html:
1455 * resources/runner.js:
1457 2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
1459 PerformanceTests/CSS/StyleSheetInsert.html has a time-dependent non-Gaussian distribution
1460 https://bugs.webkit.org/show_bug.cgi?id=97741
1462 Reviewed by Antti Koivisto.
1464 Reset the content in the iframe in each run so that the runtime from each run follows a normal distribution.
1465 We can cleanup this code once my patch to replace the argument list of run by an object is landed.
1467 * CSS/StyleSheetInsert.html:
1469 2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
1471 Unreviewed. Minor appearance tweaks after r129813.
1473 * resources/results-template.html:
1475 2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
1477 Results page should warn about time-dependent distributions
1478 https://bugs.webkit.org/show_bug.cgi?id=97818
1480 Reviewed by Ojan Vafai.
1482 Add a simple linear regression analysis on results page to detect time-dependent distributions.
1483 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.
1484 Also added time-series graphs per run under the bar graphs so that humans can manually inspect them.
1486 A nice follow up would be to add some normality test (e.g. Shapiro-Wilk) to detect bi-modal distributions
1487 but we probably need to restructure the code to run it asynchronously since normality tests are slow.
1489 * resources/results-template.html:
1491 2012-09-26 Ryosuke Niwa <rniwa@webkit.org>
1493 Use runPerSecond in PerformanceTests/Bindings/typed-array* and event-target-wrapper
1494 https://bugs.webkit.org/show_bug.cgi?id=97625
1496 Reviewed by Eric Seidel.
1498 Use PerfTestRunner.runPerSecond instead of PerfTestRunner.run. Also reduce the fixed number of
1499 elements and iterations in these tests by a factor of 10 since runPerSecond can dynamically
1500 adjust the number of function calls.
1502 * Bindings/event-target-wrapper.html:
1503 * Bindings/typed-array-construct-from-array.html:
1504 * Bindings/typed-array-construct-from-same-type.html:
1505 * Bindings/typed-array-construct-from-typed.html:
1506 * Bindings/typed-array-set-from-typed.html:
1508 2012-09-25 Antti Koivisto <antti@apple.com>
1510 Optimize stylesheet insertions
1511 https://bugs.webkit.org/show_bug.cgi?id=97627
1513 Reviewed by Andreas Kling.
1515 Add synthetic performance test for avoiding style recalcs on stylesheet inserts.
1517 * CSS/StyleSheetInsert.html: Added.
1519 2012-09-25 Ryosuke Niwa <rniwa@webkit.org>
1521 Skip Dromaeo/jslib-modify-jquery.html per bug 95376.
1522 It runs out of memory on Chromium port, and it takes unreasonably long time (~5 minutes)
1523 to run on other ports.
1527 2012-09-20 Ryosuke Niwa <rniwa@webkit.org>
1529 Results page should show indivisual value
1530 https://bugs.webkit.org/show_bug.cgi?id=97178
1532 Reviewed by Tony Chang.
1534 Show indivisual values instead of statistics (min, max, stdev).
1536 * resources/results-template.html:
1538 2012-09-20 Ryosuke Niwa <rniwa@webkit.org>
1540 run-perf-tests should record individual value instead of statistics
1541 https://bugs.webkit.org/show_bug.cgi?id=97155
1543 Reviewed by Hajime Morita.
1545 Report the list of values as "values" so that run-perf-tests can parse them.
1547 * resources/runner.js:
1548 (PerfTestRunner.computeStatistics):
1549 (PerfTestRunner.printStatistics):
1551 2012-09-20 Sheriff Bot <webkit.review.bot@gmail.com>
1553 Unreviewed, rolling out r129091.
1554 http://trac.webkit.org/changeset/129091
1555 https://bugs.webkit.org/show_bug.cgi?id=97205
1557 It broke perf tests everywhere (Requested by Ossy on #webkit).
1559 * resources/runner.js:
1560 (PerfTestRunner.computeStatistics):
1561 (PerfTestRunner.printStatistics):
1563 2012-09-19 Ryosuke Niwa <rniwa@webkit.org>
1565 run-perf-tests should record indivisual value instead of statistics
1566 https://bugs.webkit.org/show_bug.cgi?id=97155
1568 Reviewed by Hajime Morita.
1570 Report the list of values as "values" so that run-perf-tests can parse them.
1572 * resources/runner.js:
1573 (PerfTestRunner.computeStatistics):
1574 (PerfTestRunner.printStatistics):
1576 2012-09-17 Ryosuke Niwa <rniwa@webkit.org>
1578 Perf test results is incomprehensive
1579 https://bugs.webkit.org/show_bug.cgi?id=94668
1581 Reviewed by Eric Seidel.
1583 Overhauled the results page to have a tabular view. Clicking on each row shows a flot graph we used to have.
1584 For each run and test, we show the mean value with the standard deviation along with the percent difference
1585 against the reference run chosen by the user if the difference is statistically significant; it also indicates
1586 whether the new value is progression or not.
1588 The unit of each test is adjusted automatically using SI prefixes (Kilo, Mega, Milli), and rows can be sorted
1589 by each column. Time and memory results are separated into two tabs.
1591 * resources/jquery.tablesorter.min.js: Added.
1592 * resources/results-template.html:
1594 2012-09-14 Ryosuke Niwa <rniwa@webkit.org>
1596 Use performance.webkitNow in PerfTestRunner
1597 https://bugs.webkit.org/show_bug.cgi?id=92826
1599 Reviewed by Eric Seidel.
1601 Use performance.webkitNow with Date.now as a fallback for more accurate time measurements.
1603 * resources/runner.js:
1604 (PerfTestRunner._runner):
1605 (PerfTestRunner._perSecondRunnerIterator):
1607 2012-09-14 Sheriff Bot <webkit.review.bot@gmail.com>
1609 Unreviewed, rolling out r128562.
1610 http://trac.webkit.org/changeset/128562
1611 https://bugs.webkit.org/show_bug.cgi?id=96747
1613 It broke perf tests on Qt and Chromium (Requested by Ossy on
1616 * resources/runner.js:
1617 (PerfTestRunner._runner):
1618 (PerfTestRunner._perSecondRunnerIterator):
1620 2012-09-14 Ryosuke Niwa <rniwa@webkit.org>
1622 Use performance.webkitNow in PerfTestRunner
1623 https://bugs.webkit.org/show_bug.cgi?id=92826
1625 Reviewed by Eric Seidel.
1627 Use performance.webkitNow with Date.now as a fallback for more acurate time measurements.
1629 * resources/runner.js:
1630 (PerfTestRunner._runner):
1631 (PerfTestRunner._perSecondRunnerIterator):
1633 2012-08-23 Ilya Tikhonovsky <loislo@chromium.org>
1635 WebInspector: unreviewed single line test fix.
1637 The test has to open profiles panel explicitly because it is creating lazily.
1639 * inspector/heap-snapshot-performance-test.js:
1641 2012-08-15 Scott Graham <scottmg@chromium.org>
1643 Rename window.internals.fastMallocStatistics to mallocStatistics
1644 https://bugs.webkit.org/show_bug.cgi?id=94033
1646 Reviewed by Adam Barth.
1648 * resources/runner.js:
1649 (PerfTestRunner.storeHeapResults):
1650 (PerfTestRunner.getUsedMallocHeap):
1651 (PerfTestRunner.getAndPrintMemoryStatistics):
1652 (PerfTestRunner.initAndStartLoop):
1654 2012-08-10 Ryosuke Niwa <rniwa@webkit.org>
1656 Unreviewed; fix an insanely silly typo.
1658 * resources/results-template.html:
1660 2012-08-09 Ryosuke Niwa <rniwa@webkit.org>
1662 Another build fix after r125178.
1664 * resources/runner.js:
1666 2012-08-09 Zoltan Horvath <zoltan@webkit.org>
1668 Add memory measurement to balls.html and dromaeorunner.js
1669 https://bugs.webkit.org/show_bug.cgi?id=93617
1671 Reviewed by Adam Barth.
1673 Since we added memory measurement support to performance tests we need to modify these tests.
1675 * Animation/balls.html:
1676 * Dromaeo/resources/dromaeorunner.js:
1678 2012-08-09 Zoltan Horvath <zoltan@webkit.org>
1680 JSHeap and FastMallocStatistics based memory measurement for performance-tests
1681 https://bugs.webkit.org/show_bug.cgi?id=90858
1683 Reviewed Ryosuke Niwa.
1685 Measure the memory usage of the performancetests with the help of the windows.memory.usedJSHeapSize
1686 object and the window.internals.fastMallocStatistics() function call.
1688 * resources/runner.js:
1689 (PerfTestRunner.logStatistics):
1690 (PerfTestRunner.printStatistics):
1691 (PerfTestRunner.storeHeapResults):
1692 (PerfTestRunner.getUsedFastMallocHeap):
1693 (PerfTestRunner.getUsedJSHeap):
1694 (PerfTestRunner.getAndPrintMemoryStatistics):
1695 (PerfTestRunner.ignoreWarmUpAndLog):
1696 (PerfTestRunner.initAndStartLoop):
1698 2012-08-08 Benjamin Poulain <benjamin@webkit.org>
1700 Calling internals from the performance test runner prevents manual running
1701 https://bugs.webkit.org/show_bug.cgi?id=93527
1703 Reviewed by Ryosuke Niwa.
1705 Since r125065, it is impossible to run the Performance tests manually. The problem is
1706 "internals" is not defined when running outside the test runner, so the whole script
1709 * resources/runner.js: Verify is window.internals is available before invoking something on it.
1711 2012-08-08 Zoltan Horvath <zoltan@webkit.org>
1713 Set access to MemoryInfo enabled for the performance tests
1714 https://bugs.webkit.org/show_bug.cgi?id=92498
1716 Reviewed by Ryosuke Niwa.
1718 We need access to console.memory for the memory measurements.
1720 * resources/runner.js:
1722 2012-08-07 Ryosuke Niwa <rniwa@webkit.org>
1724 run-perf-tests should support --no-show-results
1725 https://bugs.webkit.org/show_bug.cgi?id=93409
1727 Reviewed by Dirk Pranke.
1729 Add a flot as a separate file and load it as an external resource.
1731 Also include scripts as external resources from both local filesystem and webkit.org
1732 so that it continues to work regardless of where you put it.
1734 It breaks when someone else receives the file and save it somewhere and doesn't have
1735 a network connection but that seems like a scenario we don't care that much.
1737 * resources/jquery.flot.min.js: Added.
1738 * resources/results-template.html:
1740 2012-08-06 Ryosuke Niwa <rniwa@webkit.org>
1742 run-webkit-tests should have ability to add description to its JSON output
1743 https://bugs.webkit.org/show_bug.cgi?id=93296
1745 Reviewed by Dirk Pranke.
1747 Parse description and show it with the WebKit revision on the results page. Also use bar graphs
1748 instead of line graphs since we're not depicting the time series here per arv's suggestion.
1749 Finally, add the ability to adjust y-axis between the adjusted value and 0 (plot even doesn't adjust
1750 y-axis automatically now) by a mouse click.
1752 * resources/results-template.html:
1754 2012-08-04 Ryosuke Niwa <rniwa@webkit.org>
1756 Use testRunner instead of layoutTestController in performance tests
1757 https://bugs.webkit.org/show_bug.cgi?id=93184
1759 Reviewed by Adam Barth.
1761 * Animation/balls.html:
1762 * Dromaeo/resources/dromaeorunner.js:
1763 * inspector/console-300-lines.html:
1764 * inspector/inspector-startup-time.html:
1765 * inspector/network-append-30-requests.html.broken:
1766 * inspector/show-panel.html.broken:
1767 * resources/runner.js:
1768 (PerfTestRunner.logInfo):
1769 (PerfTestRunner.initAndStartLoop):
1771 2012-08-02 Arnaud Renevier <a.renevier@sisa.samsung.com>
1773 TypedArray set method is slow when called with another typed array
1774 https://bugs.webkit.org/show_bug.cgi?id=92556
1776 Reviewed by Kenneth Russell.
1778 * Bindings/typed-array-set-from-typed.html: Added.
1780 2012-07-28 Ryosuke Niwa <rniwa@webkit.org>
1782 run-perf-tests should generate a results page
1783 https://bugs.webkit.org/show_bug.cgi?id=92575
1785 Reviewed by Eric Seidel.
1787 Add a results page template. This page includes flot and flot.fillbetween.
1788 jQuery and the json that contains test results are injected by run-perf-tests.
1790 * resources/results-template.html: Added.
1792 2012-07-27 Arnaud Renevier <a.renevier@sisa.samsung.com>
1794 use createUninitialized when creating TypedArray from another array
1795 https://bugs.webkit.org/show_bug.cgi?id=92518
1797 Reviewed by Kenneth Russell.
1799 * Bindings/typed-array-construct-from-array.html: Added.
1801 2012-07-27 Ryosuke Niwa <rniwa@webkit.org>
1803 Add more Russian replay performance tests
1804 https://bugs.webkit.org/show_bug.cgi?id=92462
1806 Reviewed by Tony Chang.
1808 Add more Russian sites as suggested by loislo.
1810 * Replay/Russian/lenta.ru.replay: Added.
1811 * Replay/Russian/www.ixbt.com.replay: Added.
1812 * Replay/Russian/www.kp.ru.replay: Added.
1813 * Replay/Russian/www.liveinternet.ru.replay: Added.
1814 * Replay/Russian/www.pravda.ru.replay: Added.
1816 2012-07-26 Arnaud Renevier <a.renevier@sisa.samsung.com>
1818 constructing TypedArray from another TypedArray is slow
1819 https://bugs.webkit.org/show_bug.cgi?id=90838
1821 Reviewed by Kenneth Russell.
1823 * Bindings/typed-array-construct-from-same-type.html: Added.
1824 * Bindings/typed-array-construct-from-typed.html: Added.
1826 2012-07-25 Ryosuke Niwa <rniwa@webkit.org>
1828 Import more replay performance tests from Mozilla's Tp5 test suite
1829 https://bugs.webkit.org/show_bug.cgi?id=92229
1831 Reviewed by Andreas Kling.
1833 Add more replay tests based on Mozilla's Tp5 test suite [1]. Unfortunately,
1834 we cannot import all URLs because some of them are not archived on archive.org
1835 and others do not replay well on web-page-replay. Nonethless, we're still adding
1836 60+ URLs in this patch.
1838 [1] http://people.mozilla.org/~jmaher/tp5.manifest
1840 * Replay/Chinese: Added.
1841 * Replay/Chinese/chinaz.com.replay: Added.
1842 * Replay/Chinese/www.163.com.replay: Added.
1843 * Replay/Chinese/www.alipay.com.replay: Added.
1844 * Replay/Chinese/www.baidu.com.replay: Added.
1845 * Replay/Chinese/www.csdn.net.replay: Added.
1846 * Replay/Chinese/www.douban.com.replay: Added.
1847 * Replay/Chinese/www.hao123.com.replay: Added.
1848 * Replay/Chinese/www.xinhuanet.com.replay: Added.
1849 * Replay/Chinese/www.xunlei.com.replay: Added.
1850 * Replay/Chinese/www.youku.com.replay: Added.
1851 * Replay/English: Added.
1852 * Replay/English/beatonna.livejournal.com.replay: Added.
1853 * Replay/English/cakewrecks.blogspot.com.replay: Added.
1854 * Replay/English/chemistry.about.com.replay: Added.
1855 * Replay/English/digg.com.replay: Added.
1856 * Replay/English/en.wikipedia.org-rorschach_test.replay: Added.
1857 * Replay/English/icanhascheezburger.com.replay: Added.
1858 * Replay/English/imgur.com-gallery.replay: Added.
1859 * Replay/English/online.wsj.com.replay: Added.
1860 * Replay/English/stockoverflow.com-best-comment.replay: Added.
1861 * Replay/English/www.alibaba.com.replay: Added.
1862 * Replay/English/www.amazon.com-kindle.replay: Added.
1863 * Replay/English/www.apple.com.replay: Added.
1864 * Replay/English/www.cnet.com.replay: Added.
1865 * Replay/English/www.dailymotion.com.replay: Added.
1866 * Replay/English/www.ehow.com-prevent-fire.replay: Added.
1867 * Replay/English/www.filestube.com-amy-adams.replay: Added.
1868 * Replay/English/www.foxnews.replay: Added.
1869 * Replay/English/www.huffingtonpost.com.replay: Added.
1870 * Replay/English/www.imdb.com-twilight.replay: Added.
1871 * Replay/English/www.mozilla.com-all-order.replay: Added.
1872 * Replay/English/www.php.net.replay: Added.
1873 * Replay/English/www.reddit.com.replay: Added.
1874 * Replay/English/www.telegraph.co.uk.replay: Added.
1875 * Replay/English/www.w3.org-htmlcss.replay: Added.
1876 * Replay/English/www.w3schools.com-html.replay: Added.
1877 * Replay/English/www.youtube.com-music.replay: Added.
1878 * Replay/French: Added.
1879 * Replay/French/www.orange.fr.replay: Added.
1880 * Replay/German: Added.
1881 * Replay/Italian: Added.
1882 * Replay/Italian/www.repubblica.it.replay: Added.
1883 * Replay/Japanese/entameblog.seesaa.net.replay: Added.
1884 * Replay/Japanese/www.hatena.ne.jp.replay: Added.
1885 * Replay/Japanese/www.nicovideo.jp.replay: Added.
1886 * Replay/Korean: Added.
1887 * Replay/Korean/www.naver.com.replay: Added.
1888 * Replay/Persian: Added.
1889 * Replay/Persian/blogfa.com.replay: Added.
1890 * Replay/Polish: Added.
1891 * Replay/Polish/www.wp.pl.replay: Added.
1892 * Replay/Portuguese: Added.
1893 * Replay/Portuguese/www.uol.com.br.replay: Added.
1894 * Replay/Russian: Added.
1895 * Replay/Russian/vkontakte.ru-help.replay: Added.
1896 * Replay/Russian/www.rambler.ru.replay: Added.
1897 * Replay/Russian/www.ucoz.ru.replay: Added.
1898 * Replay/Russian/www.yandex.ru.replay: Added.
1899 * Replay/Spanish: Added.
1900 * Replay/Spanish/www.taringa.net.replay: Added.
1902 2012-07-24 Ryosuke Niwa <rniwa@webkit.org>
1904 Add some Japanese and Swedish websites to replay tests
1905 https://bugs.webkit.org/show_bug.cgi?id=92076
1907 Reviewed by Andreas Kling.
1909 Added new replay tests as follows.
1911 * Replay/Japanese: Added.
1912 * Replay/Japanese/2ch.net-newsplus.replay: Added.
1913 * Replay/Japanese/ja.wikipedia.org.replay: Added.
1914 * Replay/Japanese/www.livedoor.com.replay: Added.
1915 * Replay/Japanese/www.rakuten.co.jp.replay: Added.
1916 * Replay/Japanese/www.yahoo.co.jp.replay: Added.
1917 * Replay/Swedish: Added.
1918 * Replay/Swedish/www.flashback.se.replay: Added.
1919 * Replay/Swedish/www.tradera.com.replay: Added.
1920 * Replay/www.techcrunch.com.replay: Added.
1922 2012-07-18 MORITA Hajime <morrita@google.com>
1924 Add window resize benchmark
1925 https://bugs.webkit.org/show_bug.cgi?id=91070
1927 Reviewed by Ryosuke Niwa.
1929 Added window-resize.html which exercise html5.html. This test
1930 resizes the window and forces re-layout repeatedly.
1932 * Interactive/resources/window-resize.js: Added.
1933 * Interactive/window-resize.html: Added.
1934 * Parser/resources/html5.html: Modified to inject driver scripts.
1936 2012-07-11 Philip Rogers <pdr@google.com>
1938 Add a performance test for hit testing in SVG
1939 https://bugs.webkit.org/show_bug.cgi?id=90811
1941 Reviewed by Ryosuke Niwa.
1943 The shape rendering code is changing a lot and I'd like a performance test to
1944 make sure we don't regress, and to track our improvements.
1946 Performance results in my Linux desktop:
1947 RESULT SVG: SvgHitTesting= 105.0 ms
1948 median= 103.5 ms, stdev= 4.60434577329 ms, min= 101.0 ms, max= 116.0 ms
1950 RESULT SVG: SvgHitTesting= 97.8 ms
1951 median= 96.5 ms, stdev= 2.67581763205 ms, min= 95.0 ms, max= 102.0 ms
1953 RESULT SVG: SvgHitTesting= 104.3 ms
1954 median= 104.0 ms, stdev= 1.41774468788 ms, min= 102.0 ms, max= 107.0 ms
1956 RESULT SVG: SvgHitTesting= 103.6 ms
1957 median= 103.5 ms, stdev= 1.2 ms, min= 102.0 ms, max= 106.0 ms
1959 * SVG/SvgHitTesting.html: Added.
1961 2012-07-03 Jan Keromnes <janx@linux.com>
1963 Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
1964 https://bugs.webkit.org/show_bug.cgi?id=89939
1966 Reviewed by Vsevolod Vlasov.
1968 * inspector/first-open-scripts.html.broken:
1970 2012-06-22 Philip Rogers <pdr@google.com>
1972 Make SvgCubics performance test more consistent
1973 https://bugs.webkit.org/show_bug.cgi?id=89778
1975 Reviewed by Ryosuke Niwa.
1977 Previously this test ran twice for each iteration, but this led to inconsistent repaints.
1978 This change updates the test to only run once per iteration, and adds even more cubics
1979 so that the test runs consistently in the 80ms range on my Linux desktop.
1981 Performance results on my desktop:
1982 RESULT SVG: SvgCubics= 80.5 ms
1983 median= 82.0 ms, stdev= 3.04138126515 ms, min= 75.0 ms, max= 85.0 ms
1985 RESULT SVG: SvgCubics= 80.1 ms
1986 median= 81.0 ms, stdev= 4.27668095607 ms, min= 74.0 ms, max= 88.0 ms
1988 RESULT SVG: SvgCubics= 81.45 ms
1989 median= 83.0 ms, stdev= 4.01839520207 ms, min= 75.0 ms, max= 89.0 ms
1991 RESULT SVG: SvgCubics= 78.9 ms
1992 median= 80.0 ms, stdev= 4.75289385533 ms, min= 72.0 ms, max= 87.0 ms
1994 * SVG/SvgCubics.html:
1996 2012-06-22 Ilya Tikhonovsky <loislo@chromium.org>
1998 Web Inspector: partially instrument DOM Tree native memory.
1999 https://bugs.webkit.org/show_bug.cgi?id=89568
2001 This patch adds MemoryInstrumentation class that counts all visited
2002 objects and calls reportMemoryUsage.
2004 Reviewed by Yury Semikhatsky.
2006 * inspector/native-memory-snapshot.html:
2008 2012-06-21 Kentaro Hara <haraken@chromium.org>
2010 Add a perf-test for innerHTML setter for a large DOM tree
2011 https://bugs.webkit.org/show_bug.cgi?id=89723
2013 Reviewed by Ryosuke Niwa.
2015 We want a benchmark for innerHTML setter for the following reason:
2017 - innerHTML setter is widely used in the real world.
2018 - I am planning to optimize innerHTML setter in the near future.
2019 - I want to use the innerHTML setter benchmark for the patch of bug 88834.
2021 Performance results in my Linux desktop:
2023 RESULT Parser: innerHTML-setter= 289.782649995 runs/s
2024 median= 290.046269741 runs/s, stdev= 1.06575112224 runs/s, min= 286.831812256 runs/s, max= 291.005291005 runs/s
2026 RESULT Parser: innerHTML-setter= 289.020706132 runs/s
2027 median= 289.093298292 runs/s, stdev= 0.985203313093 runs/s, min= 286.831812256 runs/s, max= 290.620871863 runs/s
2029 RESULT Parser: innerHTML-setter= 288.912051701 runs/s
2030 median= 291.005291005 runs/s, stdev= 3.65241325588 runs/s, min= 283.505154639 runs/s, max= 292.553191489 runs/s
2032 RESULT Parser: innerHTML-setter= 288.644186666 runs/s
2033 median= 288.713910761 runs/s, stdev= 1.31889053717 runs/s, min= 286.085825748 runs/s, max= 290.620871863 runs/s
2035 RESULT Parser: innerHTML-setter= 288.698714577 runs/s
2036 median= 288.713910761 runs/s, stdev= 1.03938198202 runs/s, min= 286.458333333 runs/s, max= 290.237467018 runs/s
2038 * Parser/innerHTML-setter.html: Added.
2040 2012-06-20 Philip Rogers <pdr@google.com>
2042 Add a performance test for paths in SVG
2043 https://bugs.webkit.org/show_bug.cgi?id=89547
2045 Reviewed by Ryosuke Niwa.
2047 This change adds the first performance test for SVG paths.
2048 In the test we modify complex cubic paths in several ways, testing:
2049 transformations, clipping, d attribute changes, stroke properties,
2050 text on a path, and opacity.
2052 Sample test results on my Linux desktop:
2053 RESULT SVG: SvgCubics= 68.85 ms
2054 median= 69.5 ms, stdev= 4.70398767005 ms, min= 56.0 ms, max= 75.0 ms
2056 RESULT SVG: SvgCubics= 68.4 ms
2057 median= 69.0 ms, stdev= 3.51283361405 ms, min= 59.0 ms, max= 74.0 ms
2059 RESULT SVG: SvgCubics= 66.95 ms
2060 median= 67.0 ms, stdev= 3.4420197559 ms, min= 59.0 ms, max= 74.0 ms
2062 RESULT SVG: SvgCubics= 70.2 ms
2063 median= 71.5 ms, stdev= 3.23419232576 ms, min= 63.0 ms, max= 74.0 ms
2066 * SVG/SvgCubics.html: Added.
2068 2012-06-20 Tom Zakrajsek <tomz@codeaurora.org>
2070 Import themaninblue.com/experiment/AnimationBenchmark/ as performance tests
2071 https://bugs.webkit.org/show_bug.cgi?id=78789
2073 Reviewed by Ryosuke Niwa.
2075 Added PerfTestRunner fixture around it.
2077 * Animation/balls.html: Added.
2079 2012-06-18 Ilya Tikhonovsky <loislo@chromium.org>
2081 Web Inspector: native memory snapshot performance and coverage test implementation.
2082 https://bugs.webkit.org/show_bug.cgi?id=89363
2084 We have to track the performance of MemoryAgent.getProcessMemoryDistribution.
2085 Also this test will work as a burn down chart for Unknown memory metric.
2087 Reviewed by Pavel Feldman.
2089 * inspector/native-memory-snapshot.html: Added.
2090 * inspector/performance-test.js:
2091 (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer):
2092 (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.reportSize):
2093 (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
2094 (initialize_TimeTracker.InspectorTest.runPerformanceTest):
2096 2012-06-05 Alexei Filippov <alexeif@chromium.org>
2098 Web Inspector: serialize edge counts instead of indexes in heap snapshot
2099 https://bugs.webkit.org/show_bug.cgi?id=88324
2101 The serialized node structure currently holds an index
2102 of its first containment edge in the edges array.
2103 The index can be quite big (up to 7 digits for large snapshots).
2104 The patch changes the serialization format to pass
2105 node containment edge count instead. For most nodes the count
2106 is just a single digit number.
2107 This reduces serialized snapshot size and therefore its transfer time.
2109 Reviewed by Yury Semikhatsky.
2111 * inspector/heap-snapshot-performance-test.js:
2113 2012-06-04 Alexei Filippov <alexeif@chromium.org>
2115 Web Inspector: speed up _calculateRetainedSizes function
2116 https://bugs.webkit.org/show_bug.cgi?id=87863
2118 Reviewed by Yury Semikhatsky.
2120 * inspector/heap-snapshot-advanced.html: Added.
2121 * inspector/heap-snapshot-performance-test.js: Copied from PerformanceTests/inspector/heap-snapshot.html.
2122 (test.performanceTest.step0):
2123 (test.performanceTest.step1):
2124 (test.performanceTest.step2):
2125 (test.performanceTest.cleanup):
2126 (test.performanceTest.done):
2127 (test.performanceTest):
2129 * inspector/heap-snapshot.html:
2131 2012-06-03 Kentaro Hara <haraken@chromium.org>
2133 [perf-test] Add a benchmark of querySelector() for an element that appears in the depths in the document
2134 https://bugs.webkit.org/show_bug.cgi?id=88202
2136 Reviewed by Ryosuke Niwa.
2138 query-selector-first.html tests querySelector() for an element
2139 that appears at the head of the document. query-selector-last.html
2140 tests querySelector() for an element that appears at the tail of
2141 the document. In addition, we want a benchmark of querySelector()
2142 for an element that appears in the depths in the document.
2144 Test results in my Linux desktop:
2146 RESULT Parser: query-selector-deep= 460.776980611 runs/s
2147 median= 460.947503201 runs/s, stdev= 1.72274941942 runs/s, min= 455.696202532 runs/s, max= 463.32046332 runs/s
2149 RESULT Parser: query-selector-deep= 458.925050915 runs/s
2150 median= 459.183673469 runs/s, stdev= 1.47930124139 runs/s, min= 454.545454545 runs/s, max= 460.947503201 runs/s
2152 RESULT Parser: query-selector-deep= 461.866981491 runs/s
2153 median= 461.538461538 runs/s, stdev= 1.14613123359 runs/s, min= 459.183673469 runs/s, max= 463.917525773 runs/s
2155 RESULT Parser: query-selector-deep= 453.922010788 runs/s
2156 median= 454.258855898 runs/s, stdev= 1.77279123317 runs/s, min= 447.204968944 runs/s, max= 455.696202532 runs/s
2158 RESULT Parser: query-selector-deep= 454.666321221 runs/s
2159 median= 454.545454545 runs/s, stdev= 1.65775667417 runs/s, min= 451.127819549 runs/s, max= 456.852791878 runs/s
2161 * Parser/query-selector-deep.html: Added.
2163 2012-06-03 Kentaro Hara <haraken@chromium.org>
2165 [perf-test] Make query-selector-last.html more realistic
2166 https://bugs.webkit.org/show_bug.cgi?id=88203
2168 Reviewed by Ryosuke Niwa.
2170 query-selector-last.html tests querySelector() for an element
2171 that appears after 1000 div elements, all of which have the same
2172 id and class. To test the performance of querySelector() under
2173 a lot of ids and classes, we should make the ids and classes of
2174 the 1000 elements different.
2176 This patch degrades the performance of query-selector-last.html
2180 RESULT Parser: query-selector-last= 476.382274152 runs/s
2181 median= 476.821192053 runs/s, stdev= 1.14578875814 runs/s, min= 474.308300395 runs/s, max= 478.087649402 runs/s
2183 RESULT Parser: query-selector-last= 478.423061861 runs/s
2184 median= 478.723404255 runs/s, stdev= 1.54876867255 runs/s, min= 473.684210526 runs/s, max= 481.347773767 runs/s
2186 RESULT Parser: query-selector-last= 479.849287174 runs/s
2187 median= 480.0 runs/s, stdev= 1.69849752498 runs/s, min= 475.561426684 runs/s, max= 481.927710843 runs/s
2189 RESULT Parser: query-selector-last= 476.765438846 runs/s
2190 median= 477.453580902 runs/s, stdev= 1.8724488664 runs/s, min= 471.821756225 runs/s, max= 478.723404255 runs/s
2192 RESULT Parser: query-selector-last= 481.715340644 runs/s
2193 median= 481.637742305 runs/s, stdev= 1.81446361145 runs/s, min= 475.561426684 runs/s, max= 483.675937122 runs/s
2196 RESULT Parser: query-selector-last= 458.866623582 runs/s
2197 median= 459.183673469 runs/s, stdev= 1.48881464737 runs/s, min= 453.972257251 runs/s, max= 460.947503201 runs/s
2199 RESULT Parser: query-selector-last= 460.363532897 runs/s
2200 median= 460.358056266 runs/s, stdev= 1.58512056995 runs/s, min= 456.273764259 runs/s, max= 462.130937099 runs/s
2202 RESULT Parser: query-selector-last= 457.727448451 runs/s
2203 median= 458.015267176 runs/s, stdev= 1.23681915516 runs/s, min= 453.972257251 runs/s, max= 459.183673469 runs/s
2205 RESULT Parser: query-selector-last= 465.57336853 runs/s
2206 median= 465.717981889 runs/s, stdev= 1.6616925374 runs/s, min= 460.947503201 runs/s, max= 467.532467532 runs/s
2208 RESULT Parser: query-selector-last= 459.836252019 runs/s
2209 median= 459.770114943 runs/s, stdev= 1.84485630505 runs/s, min= 455.696202532 runs/s, max= 462.724935733 runs/s
2211 * Parser/query-selector-last.html:
2213 2012-06-01 Ryosuke Niwa <rniwa@webkit.org>
2215 Add public page loading performance tests using web-page-replay
2216 https://bugs.webkit.org/show_bug.cgi?id=84008
2218 Reviewed by Dirk Pranke.
2220 Add replay tests for google.com and youtube.com as examples.
2223 * Replay/www.google.com.replay: Added.
2224 * Replay/www.youtube.com.replay: Added.
2226 2012-05-30 Kentaro Hara <haraken@chromium.org>
2228 [perf-test] Add a benchmark for querySelector()
2229 https://bugs.webkit.org/show_bug.cgi?id=87742
2231 Reviewed by Ryosuke Niwa.
2233 Now I am optimizing querySelector() (bug 87625).
2234 This patch adds a performance test for querySelector().
2235 query-selector-first.html queries an element that appears
2236 at the head of the document. On the other hand,
2237 query-selector-last.html queries an element that appears
2238 at the tail of the document.
2240 Test results in my desktop:
2242 [query-selector-first.html]
2243 RESULT Parser: query-selector-first= 252.339803014 runs/s
2244 median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s
2246 RESULT Parser: query-selector-first= 252.688468897 runs/s
2247 median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s
2249 RESULT Parser: query-selector-first= 253.466019656 runs/s
2250 median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s
2252 RESULT Parser: query-selector-first= 256.245078189 runs/s
2253 median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s
2255 RESULT Parser: query-selector-first= 252.203100497 runs/s
2256 median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s
2258 [query-selector-last.html]
2259 RESULT Parser: query-selector-last= 356.009616076 runs/s
2260 median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s
2262 RESULT Parser: query-selector-last= 360.735271001 runs/s
2263 median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s
2265 RESULT Parser: query-selector-last= 359.598592463 runs/s
2266 median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s
2268 RESULT Parser: query-selector-last= 357.260651715 runs/s
2269 median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s
2271 RESULT Parser: query-selector-last= 351.696240713 runs/s
2272 median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s
2274 * Parser/query-selector-first.html: Added.
2275 * Parser/query-selector-last.html: Added.
2277 2012-05-25 Ilya Tikhonovsky <loislo@chromium.org>
2279 Web Inspector: HeapSnapshot: introduce performance counter for HeapSnapshotConstructorsDataGrid._aggregatesReceived method.
2280 https://bugs.webkit.org/show_bug.cgi?id=87393
2282 Reviewed by Yury Semikhatsky.
2284 * inspector/heap-snapshot.html:
2286 2012-05-25 Ilya Tikhonovsky <loislo@chromium.org>
2288 Web Inspector: HeapProfiler's perf test: each N-th run pushes the run results N-th times.
2289 https://bugs.webkit.org/show_bug.cgi?id=87476
2291 The time tracking wrappers were attaching on each run.
2293 Reviewed by Yury Semikhatsky.
2295 * inspector/heap-snapshot.html:
2297 2012-05-22 Ilya Tikhonovsky <loislo@chromium.org>
2299 Web Inspector: HeapProfiler: upstream retainedSize calculation.
2300 https://bugs.webkit.org/show_bug.cgi?id=87107
2302 This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end.
2303 After that we will be able to drop retainedSize field from the snapshot serialized data.
2304 See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089
2306 Reviewed by Yury Semikhatsky.
2308 * inspector/heap-snapshot.html: add counter for the _calculateRetainedSize method.
2310 2012-05-21 Kent Tamura <tkent@chromium.org>
2312 Add performance tests for <textarea>
2313 https://bugs.webkit.org/show_bug.cgi?id=86994
2315 Reviewed by Ryosuke Niwa.
2317 * DOM/textarea-dom.html: Added.
2318 * DOM/textarea-edit.html: Added.
2319 * Parser/textarea-parsing.html: Added.
2321 2012-05-18 Ilya Tikhonovsky <loislo@chromium.org>
2323 Web Inspector: upstream build dominators tree procedure from v8.
2324 https://bugs.webkit.org/show_bug.cgi?id=86640
2326 The idea is to reduce transfer size and move all the post-processing steps to the front-end.
2327 The JS implementation is ~1.5 times slower.
2329 Reviewed by Yury Semikhatsky.
2331 Covered by existing tests and performance tests.
2333 * inspector/heap-snapshot.html:
2335 2012-05-18 Kentaro Hara <haraken@chromium.org>
2337 [perf-test] Remove Bindings/dom-attributes.html
2338 https://bugs.webkit.org/show_bug.cgi?id=86820
2340 Reviewed by Ryosuke Niwa.
2342 Bindings/dom-attributes.html is just a collection of random
2343 DOM attributes and methods. Now we've added more reasonable
2344 micro benchmarks by classifying DOM binding call paths, we
2345 can remove Bindings/dom-attributes.html.
2347 * Bindings/dom-attributes.html: Removed.
2349 2012-05-18 Kentaro Hara <haraken@chromium.org>
2351 [perf-test] Add a binding benchmark for getElementById() for an undefined id
2352 https://bugs.webkit.org/show_bug.cgi?id=86812
2354 Reviewed by Ryosuke Niwa.
2356 We should remove Bindings/dom-attributes.html and instead add more
2357 reasonable micro benchmarks by classifying DOM binding call paths.
2359 This patch adds a benchmark for document.getElementById() for an undefined id.
2360 This benchmark covers 'getElementById (not in document)' in Dromaeo/dom-query.html,
2361 and other Node-query methods that return a null.'
2363 (Note: This benchmark is slower than document.getElementById() for a defined id.
2364 We will fix the performance issue soon.)
2366 Test results in my Linux desktop:
2368 RESULT Bindings: undefined-get-element-by-id= 271.945751345 runs/s
2369 median= 273.122389532 runs/s, stdev= 6.78219237299 runs/s, min= 257.4002574 runs/s, max= 281.690140845 runs/s
2371 RESULT Bindings: undefined-get-element-by-id= 269.105872408 runs/s
2372 median= 268.948655257 runs/s, stdev= 5.73707323755 runs/s, min= 257.4002574 runs/s, max= 278.128950695 runs/s
2374 RESULT Bindings: undefined-get-element-by-id= 269.987513372 runs/s
2375 median= 272.952853598 runs/s, stdev= 5.30252336078 runs/s, min= 255.754475703 runs/s, max= 273.97260274 runs/s
2377 RESULT Bindings: undefined-get-element-by-id= 270.169625901 runs/s
2378 median= 271.604938272 runs/s, stdev= 5.29502391906 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s
2380 RESULT Bindings: undefined-get-element-by-id= 269.054631422 runs/s
2381 median= 267.966292802 runs/s, stdev= 6.27197240579 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s
2383 * Bindings/undefined-get-element-by-id.html: Added.
2385 2012-05-18 Kentaro Hara <haraken@chromium.org>
2387 [perf-test] Add a binding benchmark for getElementsByTagName()
2388 https://bugs.webkit.org/show_bug.cgi?id=86810
2390 Reviewed by Ryosuke Niwa.
2392 We should remove Bindings/dom-attributes.html and instead add more
2393 reasonable micro benchmarks by classifying DOM binding call paths.
2395 This patch adds a benchmark for document.getElementsByTagName().
2396 This benchmark covers 'getElementsByTagName (not in document)',
2397 'getElementsByTagName', 'getElementsByName (not in document)'
2398 and 'getElementsByName' in Dromaeo/dom-query.html, and other DOM
2399 methods that return a NodeList.
2401 Test results in my Linux desktop:
2403 RESULT Bindings: get-elements-by-tag-name= 364.542328875 runs/s
2404 median= 366.972477064 runs/s, stdev= 5.25387955333 runs/s, min= 351.317440402 runs/s, max= 368.421052632 runs/s
2406 RESULT Bindings: get-elements-by-tag-name= 364.341569369 runs/s
2407 median= 366.492146597 runs/s, stdev= 4.867374197 runs/s, min= 352.644836272 runs/s, max= 367.936925099 runs/s
2409 RESULT Bindings: get-elements-by-tag-name= 363.924242967 runs/s
2410 median= 366.013071895 runs/s, stdev= 5.16768212289 runs/s, min= 351.317440402 runs/s, max= 367.936925099 runs/s
2412 RESULT Bindings: get-elements-by-tag-name= 365.332594438 runs/s
2413 median= 367.454068241 runs/s, stdev= 6.17046918572 runs/s, min= 350.0 runs/s, max= 370.37037037 runs/s
2415 RESULT Bindings: get-elements-by-tag-name= 363.999514324 runs/s
2416 median= 366.492146597 runs/s, stdev= 5.31235674905 runs/s, min= 350.877192982 runs/s, max= 368.421052632 runs/s
2418 * Bindings/get-elements-by-tag-name.html: Added.
2420 2012-05-18 Kentaro Hara <haraken@chromium.org>
2422 [perf-test] Add 7 micro benchmarks for DOM bindings
2423 https://bugs.webkit.org/show_bug.cgi?id=86816
2425 Reviewed by Ryosuke Niwa.
2427 We should remove Bindings/dom-attributes.html and instead add more
2428 reasonable micro benchmarks by classifying DOM binding call paths.
2429 This patch adds seven micro benchmarks for DOM bindings.
2431 id-getter.html covers 'element.property' in Dromaeo/dom-attr.html,
2432 'innerHTML' in Dromaeo/dom-modify.html, and other DOM attributes that
2435 id-setter.html covers 'element.property = value' in Dromaeo/dom-attr.html,
2436 and other DOM attributes that sets a String.
2438 undefined-id-getter.html covers undefined DOM attributes that return an empty String.
2440 append-child.html covers 'appendChild' and 'removeChild' in Dromaeo/dom-modify.html.
2442 insert-before.html covers 'insertBefore' in Dromaeo/dom-modify.html and replaceChild().
2444 create-element.html covers 'createElement', 'createTextNode' and 'cloneNode'
2445 in Dromaeo/dom-modify.html, and other DOM methods that return a new Node object.
2447 node-list-access.html covers 'childNodes' in Dromaeo/dom-traverse.html,
2448 and other DOM attributes that access NodeList.
2450 Test results in my Linux desktop:
2453 RESULT Bindings: id-getter= 550.517821097 runs/s
2454 median= 550.688360451 runs/s, stdev= 0.970723739106 runs/s, min= 548.628428928 runs/s, max= 552.070263488 runs/s
2456 RESULT Bindings: id-getter= 550.655839847 runs/s
2457 median= 550.688360451 runs/s, stdev= 1.03312821884 runs/s, min= 549.313358302 runs/s, max= 552.070263488 runs/s
2459 RESULT Bindings: id-getter= 550.277753355 runs/s
2460 median= 550.344180225 runs/s, stdev= 1.19960683464 runs/s, min= 547.945205479 runs/s, max= 552.070263488 runs/s
2462 RESULT Bindings: id-getter= 550.072271009 runs/s
2463 median= 550.344180225 runs/s, stdev= 1.38925152131 runs/s, min= 547.263681592 runs/s, max= 552.070263488 runs/s
2465 RESULT Bindings: id-getter= 548.802050235 runs/s
2466 median= 548.628428928 runs/s, stdev= 1.18244513683 runs/s, min= 545.905707196 runs/s, max= 550.688360451 runs/s
2469 RESULT Bindings: id-setter= 211.370591663 runs/s
2470 median= 210.803689065 runs/s, stdev= 1.4555795889 runs/s, min= 209.973753281 runs/s, max= 214.285714286 runs/s
2472 RESULT Bindings: id-setter= 215.439081352 runs/s
2473 median= 214.797136038 runs/s, stdev= 1.50920388121 runs/s, min= 213.049267643 runs/s, max= 218.446601942 runs/s
2475 RESULT Bindings: id-setter= 216.721698466 runs/s
2476 median= 215.956886352 runs/s, stdev= 1.54090749644 runs/s, min= 214.285714286 runs/s, max= 219.78021978 runs/s
2478 RESULT Bindings: id-setter= 216.343019087 runs/s
2479 median= 215.827338129 runs/s, stdev= 1.46619894553 runs/s, min= 215.053763441 runs/s, max= 218.97810219 runs/s
2481 RESULT Bindings: id-setter= 216.799288017 runs/s
2482 median= 215.956886352 runs/s, stdev= 1.49100776978 runs/s, min= 215.311004785 runs/s, max= 219.78021978 runs/s
2484 [undefined-id-getter]
2485 RESULT Bindings: undefined-id-getter= 494.104255241 runs/s
2486 median= 494.132368875 runs/s, stdev= 1.13092821109 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s
2488 RESULT Bindings: undefined-id-getter= 493.921802916 runs/s
2489 median= 493.827160494 runs/s, stdev= 1.25097443119 runs/s, min= 490.196078431 runs/s, max= 495.662949195 runs/s
2491 RESULT Bindings: undefined-id-getter= 491.976485667 runs/s
2492 median= 492.004920049 runs/s, stdev= 0.947090576896 runs/s, min= 490.196078431 runs/s, max= 493.827160494 runs/s
2494 RESULT Bindings: undefined-id-getter= 491.987710185 runs/s
2495 median= 494.132368875 runs/s, stdev= 8.66602543327 runs/s, min= 454.545454545 runs/s, max= 495.662949195 runs/s
2497 RESULT Bindings: undefined-id-getter= 494.195515847 runs/s
2498 median= 494.437577256 runs/s, stdev= 1.06135681702 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s
2501 RESULT Bindings: append-child= 260.628237026 runs/s
2502 median= 260.926399352 runs/s, stdev= 2.55231060598 runs/s, min= 256.739409499 runs/s, max= 265.604249668 runs/s
2504 RESULT Bindings: append-child= 280.796193436 runs/s
2505 median= 280.791435348 runs/s, stdev= 2.53961321867 runs/s, min= 277.427490542 runs/s, max= 286.085825748 runs/s
2507 RESULT Bindings: append-child= 279.856209714 runs/s
2508 median= 280.25477707 runs/s, stdev= 2.85447647301 runs/s, min= 275.344180225 runs/s, max= 284.237726098 runs/s
2510 RESULT Bindings: append-child= 280.834502714 runs/s
2511 median= 280.25477707 runs/s, stdev= 2.67738046429 runs/s, min= 277.427490542 runs/s, max= 287.206266319 runs/s
2513 RESULT Bindings: append-child= 274.723872106 runs/s
2514 median= 273.291925466 runs/s, stdev= 3.03671746706 runs/s, min= 272.614622057 runs/s, max= 282.413350449 runs/s
2517 RESULT Bindings: insert-before= 180.986913006 runs/s
2518 median= 180.878552972 runs/s, stdev= 0.758038687299 runs/s, min= 180.18018018 runs/s, max= 183.968462549 runs/s
2520 RESULT Bindings: insert-before= 186.339916144 runs/s
2521 median= 186.170212766 runs/s, stdev= 0.869022097127 runs/s, min= 185.676392573 runs/s, max= 189.798339265 runs/s
2523 RESULT Bindings: insert-before= 189.45344838 runs/s
2524 median= 189.349112426 runs/s, stdev= 0.811854866567 runs/s, min= 187.79342723 runs/s, max= 192.539109507 runs/s
2526 RESULT Bindings: insert-before= 189.363295991 runs/s
2527 median= 189.349112426 runs/s, stdev= 0.75387713097 runs/s, min= 188.014101058 runs/s, max= 192.076830732 runs/s
2529 RESULT Bindings: insert-before= 189.252041642 runs/s
2530 median= 189.349112426 runs/s, stdev= 0.840447225363 runs/s, min= 187.573270809 runs/s, max= 192.076830732 runs/s
2533 RESULT Bindings: create-element= 280.675830077 runs/s
2534 median= 280.701824914 runs/s, stdev= 0.788606343054 runs/s, min= 279.441117764 runs/s, max= 282.542885974 runs/s
2536 RESULT Bindings: create-element= 276.427631436 runs/s
2537 median= 277.227722772 runs/s, stdev= 3.39874667549 runs/s, min= 262.417994377 runs/s, max= 279.162512463 runs/s
2539 RESULT Bindings: create-element= 277.156894411 runs/s
2540 median= 277.227722772 runs/s, stdev= 1.13255119226 runs/s, min= 274.914089347 runs/s, max= 278.884462151 runs/s
2542 RESULT Bindings: create-element= 278.066825356 runs/s
2543 median= 278.191822254 runs/s, stdev= 0.686497782792 runs/s, min= 276.953511375 runs/s, max= 279.162512463 runs/s
2545 RESULT Bindings: create-element= 276.431538109 runs/s
2546 median= 276.406712734 runs/s, stdev= 0.759593662298 runs/s, min= 275.229357798 runs/s, max= 278.053624628 runs/s
2549 RESULT Bindings: node-list-access= 222.747504073 runs/s
2550 median= 222.772277228 runs/s, stdev= 0.789027527555 runs/s, min= 221.674876847 runs/s, max= 224.159402242 runs/s
2552 RESULT Bindings: node-list-access= 220.722448287 runs/s
2553 median= 221.266217576 runs/s, stdev= 1.65463497875 runs/s, min= 217.391304348 runs/s, max= 222.222222222 runs/s
2555 RESULT Bindings: node-list-access= 222.195870443 runs/s
2556 median= 222.222222222 runs/s, stdev= 0.489709262091 runs/s, min= 221.13022113 runs/s, max= 223.048327138 runs/s
2558 RESULT Bindings: node-list-access= 221.431121677 runs/s
2559 median= 221.538545435 runs/s, stdev= 0.608292116087 runs/s, min= 220.048899756 runs/s, max= 222.772277228 runs/s
2561 RESULT Bindings: node-list-access= 219.001367135 runs/s
2562 median= 221.538545435 runs/s, stdev= 4.65773933007 runs/s, min= 209.973753281 runs/s, max= 222.496909765 runs/s
2564 * Bindings/append-child.html: Added.
2565 * Bindings/create-element.html: Added.
2566 * Bindings/id-getter.html: Added.
2567 * Bindings/id-setter.html: Added.
2568 * Bindings/insert-before.html: Added.
2569 * Bindings/node-list-access.html: Added.
2570 * Bindings/undefined-id-getter.html: Added.
2572 2012-05-18 Kentaro Hara <haraken@chromium.org>
2574 [perf-test] Add a binding benchmark for div.setAttribute()
2575 https://bugs.webkit.org/show_bug.cgi?id=86815
2577 Reviewed by Ryosuke Niwa.
2579 We should remove Bindings/dom-attributes.html and instead add more
2580 reasonable micro benchmarks by classifying DOM binding call paths.
2582 This patch adds a benchmark for div.setAttribute(). This benchmark
2583 covers 'setAttribute' in Dromaeo/dom-attr.html and other DOM methods
2584 that return an undefined.
2586 Test results in my Linux desktop:
2588 RESULT Bindings: set-attribute= 793.745073252 runs/s
2589 median= 791.589665765 runs/s, stdev= 6.00467159709 runs/s, min= 785.27607362 runs/s, max= 808.080808081 runs/s
2591 RESULT Bindings: set-attribute= 790.858444164 runs/s
2592 median= 787.918921436 runs/s, stdev= 7.86264953655 runs/s, min= 780.234070221 runs/s, max= 806.04534005 runs/s
2594 RESULT Bindings: set-attribute= 787.277571417 runs/s
2595 median= 784.31372549 runs/s, stdev= 7.45363346657 runs/s, min= 778.588807786 runs/s, max= 804.020100503 runs/s
2597 RESULT Bindings: set-attribute= 782.401393791 runs/s
2598 median= 779.062978802 runs/s, stdev= 6.48250081621 runs/s, min= 777.642770352 runs/s, max= 796.019900498 runs/s
2600 RESULT Bindings: set-attribute= 791.792516608 runs/s
2601 median= 791.556728232 runs/s, stdev= 6.49182980397 runs/s, min= 779.220779221 runs/s, max= 808.080808081 runs/s
2603 * Bindings/set-attribute.html: Added.
2605 2012-05-17 Kentaro Hara <haraken@chromium.org>
2607 [perf-test] Add a binding benchmark for div.getAttribute()
2608 https://bugs.webkit.org/show_bug.cgi?id=86814
2610 Reviewed by Ryosuke Niwa.
2612 We should remove Bindings/dom-attributes.html and instead add more
2613 reasonable micro benchmarks by classifying DOM binding call paths.
2615 This patch adds a benchmark for div.getAttribute(). This benchmark
2616 covers 'getAttribute' in Dromaeo/dom-attr.html, and other DOM methods
2617 that return a String.
2619 Test results in my Linux desktop:
2621 RESULT Bindings: get-attribute= 250.088158538 runs/s
2622 median= 250.469728765 runs/s, stdev= 4.66551901315 runs/s, min= 240.673886883 runs/s, max= 256.739409499 runs/s
2624 RESULT Bindings: get-attribute= 250.209764698 runs/s
2625 median= 250.626959986 runs/s, stdev= 4.12030002477 runs/s, min= 241.254523522 runs/s, max= 255.102040816 runs/s
2627 RESULT Bindings: get-attribute= 248.907532887 runs/s
2628 median= 250.312891114 runs/s, stdev= 3.23173125874 runs/s, min= 240.673886883 runs/s, max= 251.572327044 runs/s
2630 RESULT Bindings: get-attribute= 250.243680844 runs/s
2631 median= 250.783797637 runs/s, stdev= 4.19327170024 runs/s, min= 240.963855422 runs/s, max= 255.102040816 runs/s
2633 RESULT Bindings: get-attribute= 245.329046608 runs/s
2634 median= 244.948040416 runs/s, stdev= 2.24314248534 runs/s, min= 240.384615385 runs/s, max= 248.756218905 runs/s
2636 * Bindings/get-attribute.html: Added.
2638 2012-05-17 Kentaro Hara <haraken@chromium.org>
2640 [perf-test] Add a binding benchmark for getElementById()
2641 https://bugs.webkit.org/show_bug.cgi?id=86808
2643 Reviewed by Ryosuke Niwa.
2645 Currently Bindings/dom-attributes.html is just a collection
2646 of random DOM attributes and methods. We should remove it and
2647 instead add more reasonable micro benchmarks by classifying
2648 DOM binding call paths.
2650 This patch adds a benchmark for document.getElementById(),
2651 which covers other DOM methods that return a Node Object.
2653 The reason why we want to add a benchmark for document.getElementById()
2654 in spite of the fact that Dromaeo/dom-query.html is already testing
2655 document.getElementById(), is that Dromaeo/dom-query.html outputs one
2656 result for several benchmarks (i.e. getElementById().nodeType,
2657 getElementsByTagName()[0].nodeType etc), and thus we cannot observe
2658 regression of getElementById() itself. (Catching regression of
2659 getElementById() would be critical.)
2661 Test results in my Linux desktop:
2663 RESULT Bindings: get-element-by-id= 300.933707795 runs/s
2664 median= 302.267002519 runs/s, stdev= 3.04954648504 runs/s, min= 295.930949445 runs/s, max= 305.34351145 runs/s
2666 RESULT Bindings: get-element-by-id= 302.030324483 runs/s
2667 median= 302.267481977 runs/s, stdev= 1.78518068367 runs/s, min= 298.507462687 runs/s, max= 304.568527919 runs/s
2669 RESULT Bindings: get-element-by-id= 301.993483538 runs/s
2670 median= 302.648171501 runs/s, stdev= 1.87604126626 runs/s, min= 296.662546354 runs/s, max= 304.568527919 runs/s
2672 RESULT Bindings: get-element-by-id= 301.936607982 runs/s
2673 median= 302.45758701 runs/s, stdev= 1.88991087072 runs/s, min= 298.879202989 runs/s, max= 304.955527319 runs/s
2675 RESULT Bindings: get-element-by-id= 301.952234563 runs/s
2676 median= 302.648171501 runs/s, stdev= 1.59929752614 runs/s, min= 299.625468165 runs/s, max= 304.568527919 runs/s
2678 * Bindings/get-element-by-id.html: Added.
2680 2012-05-17 Kentaro Hara <haraken@chromium.org>
2682 [perf-test] Add a benchmark for body.scrollTop
2683 https://bugs.webkit.org/show_bug.cgi?id=86806
2685 Reviewed by Ryosuke Niwa.
2687 Currently Bindings/dom-attributes.html is just a collection of random
2688 DOM attributes and methods. We should remove it and instead add more
2689 reasonable micro benchmarks by classifying DOM binding call paths.
2691 This patch adds a benchmark for body.scrollTop, which covers other
2692 DOM attributes that return small integers.
2694 (Note: Performance optimization for the benchmark will be coming soon.)
2696 Test results in my Linux desktop:
2698 RESULT Bindings: scroll-top= 209.410654239 runs/s
2699 median= 211.64021164 runs/s, stdev= 4.09958741195 runs/s, min= 201.005025126 runs/s, max= 212.483399734 runs/s
2701 RESULT Bindings: scroll-top= 195.651111157 runs/s
2702 median= 196.319018405 runs/s, stdev= 1.77011627406 runs/s, min= 191.846522782 runs/s, max= 197.28729963 runs/s
2703 RESULT Bindings: scroll-top= 200.004907612 runs/s
2704 median= 201.511335013 runs/s, stdev= 3.27455403827 runs/s, min= 193.236714976 runs/s, max= 202.53164557 runs/s
2706 RESULT Bindings: scroll-top= 209.582737512 runs/s
2707 median= 210.803689065 runs/s, stdev= 3.16769655464 runs/s, min= 203.045685279 runs/s, max= 211.920529801 runs/s
2709 RESULT Bindings: scroll-top= 199.924607687 runs/s
2710 median= 201.13144338 runs/s, stdev= 3.11080503619 runs/s, min= 193.003618818 runs/s, max= 202.02020202 runs/s
2712 * Bindings/scroll-top.html: Added.
2714 2012-05-17 Kentaro Hara <haraken@chromium.org>
2716 [perf-test] Add a micro benchmark for div.firstChild getter for an undefined firstChild
2717 https://bugs.webkit.org/show_bug.cgi?id=86725
2719 Reviewed by Ryosuke Niwa.
2721 We are going to remove Bindings/dom-attributes.html and instead add more
2722 reasonable micro benchmarks by classifying DOM binding call paths.
2724 In this bug, we add a micro benchmark for div.firstChild getter for an
2725 undefined firstChild. This benchmark covers other undefined DOM attributes
2728 (Note: In V8, div.firstChild for an undefined firstChild is currently slower
2729 than div.firstChild for a defined firstChild.)
2731 Test results in my Linux desktop:
2733 RESULT Bindings: undefined-first-child= 541.408311042 runs/s
2734 median= 541.205412054 runs/s, stdev= 1.29841219187 runs/s, min= 537.897310513 runs/s, max= 543.209876543 runs/s
2736 RESULT Bindings: undefined-first-child= 541.00750695 runs/s
2737 median= 540.540540541 runs/s, stdev= 0.967521230965 runs/s, min= 539.215686275 runs/s, max= 543.209876543 runs/s
2739 RESULT Bindings: undefined-first-child= 523.630714897 runs/s
2740 median= 523.560209424 runs/s, stdev= 1.01570919645 runs/s, min= 522.193211488 runs/s, max= 525.624178712 runs/s
2742 RESULT Bindings: undefined-first-child= 553.077663588 runs/s
2743 median= 553.459119497 runs/s, stdev= 0.805697397863 runs/s, min= 551.378446115 runs/s, max= 554.156171285 runs/s
2745 RESULT Bindings: undefined-first-child= 541.5401432 runs/s
2746 median= 541.538666618 runs/s, stdev= 0.954301364767 runs/s, min= 539.877300613 runs/s, max= 543.209876543 runs/s
2748 * Bindings/undefined-first-child.html: Added.
2750 2012-05-17 Kentaro Hara <haraken@chromium.org>
2752 [Performance test] Add a micro benchmark for div.firstChild getter
2753 https://bugs.webkit.org/show_bug.cgi?id=86582
2755 Reviewed by Ryosuke Niwa.
2757 We are going to remove Bindings/dom-attributes.html and instead add more
2758 reasonable micro benchmarks by classifying DOM binding call paths.
2760 In this bug, we add a micro benchmark for div.firstChild getter.
2761 This benchmark covers 'firstChild', 'lastChild', 'nextSibling' and
2762 'previousSibling' in Dromaeo/dom-traverse.html, and other DOM attributes
2763 that return a Node object.
2765 Multiple test results in my Linux desktop:
2767 RESULT Bindings: first-child= 798.157160346 runs/s
2768 median= 798.004987531 runs/s, stdev= 1.52006063407 runs/s, min= 796.019900498 runs/s, max= 801.001251564 runs/s
2769 RESULT Bindings: first-child= 797.603608554 runs/s
2770 median= 797.872340426 runs/s, stdev= 2.2522621261 runs/s, min= 791.556728232 runs/s, max= 801.001251564 runs/s
2771 RESULT Bindings: first-child= 798.656295468 runs/s
2772 median= 798.004987531 runs/s, stdev= 1.79367478063 runs/s, min= 797.01120797 runs/s, max= 803.011292346 runs/s
2773 RESULT Bindings: first-child= 797.812784267 runs/s
2774 median= 798.004987531 runs/s, stdev= 2.31766523191 runs/s, min= 791.100123609 runs/s, max= 802.005012531 runs/s
2775 RESULT Bindings: first-child= 797.963311597 runs/s
2776 median= 798.004987531 runs/s, stdev= 2.53014907337 runs/s, min= 789.14919852 runs/s, max= 801.001251564 runs/s
2778 * Bindings/first-child.html: Added.
2780 2012-05-16 Kentaro Hara <haraken@chromium.org>
2782 [Performance test] Support "description" for PerfTestRunner.run and PerfTestRunner.runPerSecond
2783 https://bugs.webkit.org/show_bug.cgi?id=86696
2785 Reviewed by Ryosuke Niwa.
2787 We want to add some description for each PerfTestRunner.run and
2788 PerfTestRunner.runPerSecond, so that people can know what each
2793 $ ./Tools/Scripts/run-perf-tests Bindings/first-child.html
2794 Running Bindings/first-child.html (1 of 1)
2795 DESCRIPTION: Benchmark for DOM attributes that return a Node object.
2796 RESULT Bindings: first-child= 788.359076534 runs/s
2797 median= 797.508097751 runs/s, stdev= 19.0972905207 runs/s, min= 746.666666667 runs/s, max= 801.001251564 runs/s
2799 * resources/runner.js:
2800 (PerfTestRunner.logStatistics):
2801 (PerfTestRunner.printStatistics):
2802 (PerfTestRunner.runPerSecond):
2804 2012-05-16 Yury Semikhatsky <yurys@chromium.org>
2806 Unreviewed. Fix heap profiler performance test after r117234.
2808 * inspector/heap-snapshot.html:
2810 2012-05-14 Ryosuke Niwa <rniwa@webkit.org>
2812 Convert CSS and Parser tests to runs/s tests
2813 https://bugs.webkit.org/show_bug.cgi?id=86399
2815 Reviewed by Ojan Vafai.
2817 Use runPerSecond instead of run to measure results in function calls per second (run/s) instead of time (ms).
2818 This allows us to continue measuring performance reliably even when WebKit's performance improves and results
2819 become too small for Date.now()'s precision (around 15 ms).
2821 It should also reduce perf. bots cycle time for slower tests because we limit the number of function calls by time.
2823 * CSS/CSSPropertySetterGetter.html:
2824 * CSS/CSSPropertyUpdateValue.html:
2825 * Parser/css-parser-yui.html:
2826 * Parser/simple-url.html:
2827 * Parser/tiny-innerHTML.html:
2828 * Parser/url-parser.html:
2829 * Parser/xml-parser.html:
2831 2012-05-14 Dan Bernstein <mitz@apple.com>
2833 Add a line layout performance test
2834 https://bugs.webkit.org/show_bug.cgi?id=86216
2836 Reviewed by Ryosuke Niwa.
2838 * Layout/line-layout.html: Added.
2840 2012-05-14 Tony Chang <tony@chromium.org>
2842 Don't append log lines while perf tests are running.
2843 https://bugs.webkit.org/show_bug.cgi?id=86028
2845 Reviewed by Ryosuke Niwa.
2847 In some tests, the extra DOM nodes can cause the test timing to change.
2848 Avoid adding DOM nodes until the test is over. When running in a browser,
2849 we append nodes as we run so the user can have some feedback.
2851 * resources/runner.js:
2852 (PerfTestRunner.log): Store the log lines in an array until the test is finished.
2854 2012-05-14 Ryosuke Niwa <rniwa@webkit.org>
2856 Build fix. Don't adjust calls per iteration in the second run.
2858 * resources/runner.js:
2859 (PerfTestRunner._perSecondRunner):
2861 2012-05-13 Ryosuke Niwa <rniwa@webkit.org>
2863 performance tests should be able to measure runs/sec rather than time
2864 https://bugs.webkit.org/show_bug.cgi?id=86021
2866 Reviewed by Ojan Vafai.
2868 Add PerfTestRunner.runPerSecond. It uses _runLoop but replaces _runner by _perSecondRunner
2869 to compute runs/s of runFunction.
2871 When _perSecondRunner is called for the first time, i.e. _completedRuns is 0 (notice this is -1
2872 in regular run/_runner), it slowly increases the number of function calls to runFunction between
2873 time measurements in order to discount the time used by new Date() calls themselves until the
2874 total time spent reaches 100 milliseconds.
2876 By default, runPerSecond runs the test for at least 750 milliseconds in each run, and executes
2877 21 runs, yielding the total run time of roughly 18 seconds. This is significantly faster than
2878 most of existing performance tests. Also see http://ejohn.org/blog/accuracy-of-javascript-time/.
2880 Finally, refactored the existing methods of PerfTestRunner to allow "runs/s" unit and share code.
2882 * Layout/flexbox-column-nowrap.html:
2883 * Layout/flexbox-column-wrap.html:
2884 * Layout/flexbox-row-nowrap.html:
2885 * Layout/flexbox-row-wrap.html:
2886 * resources/runner.js:
2887 (PerfTestRunner.computeStatistics): Takes unit.
2888 (PerfTestRunner.logStatistics): Ditto.
2889 (PerfTestRunner._runLoop):
2890 (PerfTestRunner._runner):
2891 (PerfTestRunner.runPerSecond): Added.
2892 (PerfTestRunner._perSecondRunner): Added. Called by _runLoop.
2893 (PerfTestRunner._perSecondRunnerIterator): Added.
2895 2012-05-09 Tony Chang <tony@chromium.org>
2897 add some basic perf-o-matic tests for flexbox
2898 https://bugs.webkit.org/show_bug.cgi?id=86017
2900 Reviewed by Ryosuke Niwa.
2902 Each of these tests take < 3s on my machine.
2904 * Layout/flexbox-column-nowrap.html: Added.
2905 * Layout/flexbox-column-wrap.html: Added.
2906 * Layout/flexbox-row-nowrap.html: Added.
2907 * Layout/flexbox-row-wrap.html: Added.
2909 2012-05-05 Ilya Tikhonovsky <loislo@chromium.org>
2911 Web Inspector: unreviewed followup fix for the performance test after r116218.
2913 * inspector/heap-snapshot.html:
2915 2012-05-02 Tom Zakrajsek <tomz@codeaurora.org>
2917 Need tests for PerfTestRunner.computeStatistics
2918 https://bugs.webkit.org/show_bug.cgi?id=85410
2920 Reviewed by Ryosuke Niwa.
2922 * resources/runner.js:
2924 2012-05-02 Sheriff Bot <webkit.review.bot@gmail.com>
2926 Unreviewed, rolling out r115905.
2927 http://trac.webkit.org/changeset/115905
2928 https://bugs.webkit.org/show_bug.cgi?id=85435
2930 New computeStatistics test is failing on chromium ports
2931 (Requested by tomz on #webkit).
2933 * resources/runner.js:
2935 2012-05-02 Tom Zakrajsek <tomz@codeaurora.org>
2937 Need tests for PerfTestRunner.computeStatistics
2938 https://bugs.webkit.org/show_bug.cgi?id=85410
2940 Reviewed by Ryosuke Niwa.
2942 * resources/runner.js:
2944 2012-04-29 Tom Zakrajsek <tomz@codeaurora.org>
2946 PerfTestRunner.computeStatistics incorrectly calculates min, max and median
2947 https://bugs.webkit.org/show_bug.cgi?id=85111
2949 Reviewed by Ryosuke Niwa.
2951 The sort of the data input was being done alphabetically.
2952 So I provided a numeric compare function.
2954 * resources/runner.js:
2956 2012-04-17 Ilya Tikhonovsky <loislo@chromium.org>
2958 Web Inspector: the fix for test after massive rename in r114271.
2959 https://bugs.webkit.org/show_bug.cgi?id=84147
2961 Drive by fix. The test was renamed to heap-snapshot.html
2963 Reviewed by Yury Semikhatsky.
2965 * inspector/heap-snapshot.html: Renamed from PerformanceTests/inspector/detailed-heapshots-smoke-test.html.
2967 2012-04-16 Yury Semikhatsky <yurys@chromium.org>
2969 Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
2970 https://bugs.webkit.org/show_bug.cgi?id=84038
2972 A bunch of renames "detailed heapshot" -> "heap snapshot".
2974 Reviewed by Pavel Feldman.
2976 * inspector/detailed-heapshots-smoke-test.html:
2978 2012-04-13 Ryosuke Niwa <rniwa@webkit.org>
2984 2012-04-12 Ryosuke Niwa <rniwa@webkit.org>
2986 Enable SVG page loading performance tests
2987 https://bugs.webkit.org/show_bug.cgi?id=83861
2989 Reviewed by Adam Barth.
2991 Unskip PageLoad directory and skip tests that load too fast (less than 100ms) and are unstable,
2992 and the ones that take too long to load (more than 20s).
2996 2012-04-04 Ilya Tikhonovsky <loislo@chromium.org>
2998 Web Inspector: Unreviewed. temporary disable broken inspector tests.
3000 * inspector/first-open-scripts.html.broken: Renamed from PerformanceTests/inspector/first-open-scripts.html.
3001 * inspector/network-append-30-requests.html.broken: Renamed from PerformanceTests/inspector/network-append-30-requests.html.
3002 * inspector/show-panel.html.broken: Renamed from PerformanceTests/inspector/show-panel.html.
3004 2012-04-04 Ilya Tikhonovsky <loislo@chromium.org>
3006 Web Inspector: linearise aggregate's retaining size calculation.
3007 https://bugs.webkit.org/show_bug.cgi?id=83125
3009 This version is twice as fast as the original and it is non-recursive.
3011 Reviewed by Yury Semikhatsky.
3013 * inspector/detailed-heapshots-smoke-test.html:
3015 2012-03-30 David Barr <davidbarr@chromium.org>
3017 Split up top-level .gitignore and .gitattributes
3018 https://bugs.webkit.org/show_bug.cgi?id=82687
3020 Reviewed by Tor Arne Vestbø.
3022 * .gitattributes: Added.
3024 2012-03-28 Yury Semikhatsky <yurys@chromium.org>
3026 Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
3027 https://bugs.webkit.org/show_bug.cgi?id=82453
3029 Updated heap profiler performance test after heap profiler front-end
3032 Reviewed by Pavel Feldman.
3034 * inspector/detailed-heapshots-smoke-test.html:
3036 2012-03-27 Alexis Menard <alexis.menard@openbossa.org>
3038 Add a perf test which updates the value of an already declared CSS property.
3039 https://bugs.webkit.org/show_bug.cgi?id=82321
3041 Reviewed by Andreas Kling.
3043 This benchmark update CSS existing properties of the style from JS.
3045 * CSS/CSSPropertyUpdateValue.html: Added.
3047 2012-03-15 Kentaro Hara <haraken@chromium.org>
3049 [PerformanceTests] run-perf-tests should output correct units
3050 https://bugs.webkit.org/show_bug.cgi?id=78303
3052 Reviewed by Ryosuke Niwa.
3054 Previously run-perf-tests just supported "ms" for units.
3055 Consequently, Dromaeo perf tests had been reporting runs/s as "ms".
3056 This patch fixes run-perf-tests so that they can support custom units.
3057 The default unit is "ms".
3059 The test result looks like this:
3061 $ ./Tools/Scripts/run-perf-tests Dromaeo/dom-attr.html
3062 RESULT Dromaeo: dom-attr= 6465.9525483 runs/s
3063 median= 0.0 runs/s, stdev= 24.2983433436 runs/s, min= 6435.87649402 runs/s, max= 6515.63693392 runs/s
3065 * Dromaeo/resources/dromaeorunner.js:
3067 * resources/runner.js:
3068 (PerfTestRunner.computeStatistics):
3069 (PerfTestRunner.printStatistics):
3071 2012-03-15 Alexis Menard <alexis.menard@openbossa.org>
3073 Fix the test failing with run-perf-tests.
3075 Rubber stamped by Ryosuke Niwa.
3077 * CSS/CSSPropertySetterGetter.html:
3079 2012-03-14 Alexis Menard <alexis.menard@openbossa.org>
3081 Add a new perf test to benchmark setting and reading CSS properties from JS.
3082 https://bugs.webkit.org/show_bug.cgi?id=81155
3084 Reviewed by Ryosuke Niwa.
3086 This benchmark read and set CSS properties from JS. It contains a list
3087 of common CSS properties.
3089 * CSS/CSSPropertySetterGetter.html: Added.
3091 2012-03-14 Alexandru Chiculita <achicu@adobe.com>
3093 Layout/floats.html should be runnable by run-perf-tests
3094 https://bugs.webkit.org/show_bug.cgi?id=77051
3096 Reviewed by Ryosuke Niwa.
3098 I've split Layout/floats.html into multiple tests for each button in the original manual test.
3099 Some tests take longer to run and I've changed the number of iterations, so that each tests finishes under 30s per run.
3101 * DOM/resources/dom-perf.js:
3102 * Layout/floats.html: Removed.
3103 * Layout/floats_100_100.html: Added.
3104 * Layout/floats_100_100_nested.html: Added.
3105 * Layout/floats_20_100.html: Added.
3106 * Layout/floats_20_100_nested.html: Added.
3107 * Layout/floats_2_100.html: Added.
3108 * Layout/floats_2_100_nested.html: Added.
3109 * Layout/floats_50_100.html: Added.
3110 * Layout/floats_50_100_nested.html: Added.
3111 * Layout/resources/floats.css: Added.
3116 * Layout/resources/floats.js: Added.
3119 * resources/runner.js:
3120 (PerfTestRunner.resetRandomSeed):
3121 (PerfTestRunner.random):
3123 Moved the Math.random to runner.js to be used by all tests.
3124 Added resetRandomSeed to bring the randomizer back to initial seed.
3125 It is useful to get the same results at every run and minimize the
3126 differences between runs.
3128 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
3130 Unreviewed, rolling out r110559.
3131 http://trac.webkit.org/changeset/110559
3132 https://bugs.webkit.org/show_bug.cgi?id=81142
3134 Broke Dromaeo tests (Requested by rniwa on #webkit).
3136 * Dromaeo/resources/dromaeorunner.js:
3139 2012-03-13 Kentaro Hara <haraken@chromium.org>
3141 Dromaeo perf-tests results are wrong
3142 https://bugs.webkit.org/show_bug.cgi?id=80974
3144 Reviewed by Hajime Morita.
3146 Dromaeo perf-tests had reported the sum of runs/seconds as "ms".
3147 This patch fixes them to report the execution time per run.
3149 At present, they report "0.0ms" for "stdev". This is because
3150 dromaeorunner.js can just know stdev of "runs/seconds"
3151 and cannot calculate stdev of "ms" from that. We can fix it later.
3153 * Dromaeo/resources/dromaeorunner.js:
3156 2012-03-12 Ilya Tikhonovsky <loislo@chromium.org>
3158 Web Inspector: chromium: increase heap snapshot performance coverage.
3159 https://bugs.webkit.org/show_bug.cgi?id=80829
3161 Reviewed by Yury Semikhatsky.
3163 * inspector/detailed-heapshots-smoke-test.html:
3164 * inspector/performance-test.js:
3165 (initialize_TimeTracker.InspectorTest.measureFunction):
3167 2012-03-06 Kentaro Hara <haraken@chromium.org>
3169 [Perf tests] Reduce the number of loops in dom-attributes.html
3170 https://bugs.webkit.org/show_bug.cgi?id=80077
3172 Reviewed by Ryosuke Niwa.
3174 dom-attributes.html takes 100~ seconds in the perf bots. This patch reduces
3175 the time by reducing the number of loops.
3177 This is just a temporary fix. After more detailed investigation, I will reduce
3178 the number of tests in dom-attributes.html, and revert back the number of loops
3179 to guarantee the reliability of the perf test results.
3181 * Bindings/dom-attributes.html:
3183 2012-03-06 Ilya Tikhonovsky <loislo@chromium.org>
3185 Web Inspector: Heap Snapshot test: split overal time metric into separate metrics.
3186 https://bugs.webkit.org/show_bug.cgi?id=80409
3188 Reviewed by Yury Semikhatsky.
3190 * inspector/detailed-heapshots-smoke-test.html:
3192 2012-03-05 Ilya Tikhonovsky <loislo@chromium.org>
3194 Web Inspector: [chromium] introduce HeapSnapshot performance test.
3195 https://bugs.webkit.org/show_bug.cgi?id=80280
3197 Reviewed by Pavel Feldman.
3199 * inspector/detailed-heapshots-smoke-test.html: Added.
3201 2012-03-01 Ryosuke Niwa <rniwa@webkit.org>
3203 DOM tests take too long to run
3204 https://bugs.webkit.org/show_bug.cgi?id=80082
3206 Reviewed by Eric Seidel.
3208 Reduce benchmark.timeToRun from 500ms to 100ms. Doesn't seem to affect test results much
3209 (except DOM/DOMTable.html) but significantly reduces the runtime of tests.
3211 * DOM/resources/dom-perf.js:
3212 (BenchmarkSuite.prototype.RunSingle):
3214 2012-02-26 Kentaro Hara <haraken@chromium.org>
3216 [Performance Tests] [Chromium] Bindings/dom-attributes.html is timing out
3217 https://bugs.webkit.org/show_bug.cgi?id=79593
3219 Reviewed by Adam Barth.
3221 This patch halves the execution time of Bindings/dom-attributes.html
3222 in order to avoid timeout in Chromium. The reason for the timeout is that
3223 V8 DOM bindings are too much slower than JSC bindings.
3224 I am a bit afraid that this patch will reduce the accuracy of the
3225 perf test results, but it would make sense to reduce the execution time
3226 until we fix the performance issue in V8 DOM bindings.
3228 * Bindings/dom-attributes.html:
3230 2012-02-24 Ryosuke Niwa <rniwa@webkit.org>
3232 Rename dom*_*attributes.html to dom*-*attributes.html to follow the WebKit convention.
3234 * Bindings/dom-attributes.html: Copied from PerformanceTests/Bindings/dom_attributes.html.
3235 * Bindings/dom_attributes.html: Removed.
3237 2012-02-24 Kentaro Hara <haraken@chromium.org>
3239 Unreviewed, rolling out r108477.
3240 http://trac.webkit.org/changeset/108477
3241 https://bugs.webkit.org/show_bug.cgi?id=79209
3243 The perf tests committed in r108748 covers the perf tests
3244 committed in r108477. So I'll roll out r108477.
3246 * Bindings/dom_attributes_id_getter.html: Removed.
3247 * Bindings/dom_attributes_id_setter.html: Removed.
3248 * Bindings/resources/dom_attributes_common.js: Removed.
3250 2012-02-24 Kentaro Hara <haraken@chromium.org>
3252 Add performance tests for DOM attribute getters and setters
3253 https://bugs.webkit.org/show_bug.cgi?id=79208
3255 Reviewed by Ryosuke Niwa.
3257 This patch adds performance micro-benchmarks for DOM attribute
3258 getters and setters. We selected DOM attributes from HTMLElement,
3259 Element and Node which will most impact on the DOM performance
3260 in the real Web and which have different call-paths from another
3263 The perf test result in my local Chromium/Linux environment is as follows:
3264 median= 14967.0 ms, stdev= 85.2385476178 ms, min= 14861.0 ms, max= 15155.0 ms
3266 If we run the test with DumpRenderTree, we can get the following test results:
3267 Info: [HTMLElement.id] avg=65.76ms, median=65.00ms, stdev=2.14ms, min=63, max=70
3268 Info: [HTMLElement.title] avg=64.05ms, median=63.00ms, stdev=1.50ms, min=63, max=67
3269 Info: [HTMLElement.lang] avg=64.19ms, median=63.00ms, stdev=1.82ms, min=62, max=67
3270 Info: [HTMLElement.dir] avg=64.10ms, median=63.00ms, stdev=1.72ms, min=62, max=68
3271 Info: [HTMLElement.className] avg=63.33ms, median=63.00ms, stdev=0.89ms, min=63, max=67
3272 Info: [HTMLElement.classList] avg=1946.00ms, median=1945.00ms, stdev=38.22ms, min=1921, max=2110
3273 Info: [HTMLElement.tabIndex] avg=83.52ms, median=80.00ms, stdev=6.00ms, min=79, max=94
3274 Info: [HTMLElement.draggable] avg=78.14ms, median=81.00ms, stdev=3.51ms, min=74, max=82
3275 Info: [HTMLElement.webkitdropzone] avg=64.33ms, median=63.00ms, stdev=1.98ms, min=63, max=68
3276 Info: [HTMLElement.hidden] avg=65.57ms, median=64.00ms, stdev=3.27ms, min=63, max=71
3277 Info: [HTMLElement.accessKey] avg=64.43ms, median=63.00ms, stdev=2.11ms, min=62, max=68
3278 Info: [HTMLElement.children] avg=130.76ms, median=128.00ms, stdev=9.75ms, min=109, max=143
3279 Info: [HTMLElement.isContentEditable] avg=74.29ms, median=75.00ms, stdev=2.00ms, min=71, max=77
3280 Info: [HTMLElement.spellcheck] avg=79.52ms, median=80.00ms, stdev=2.52ms, min=76, max=82
3281 Info: [HTMLElement.innerHTML] avg=279.05ms, median=279.00ms, stdev=1.96ms, min=276, max=283
3282 Info: [HTMLElement.innerText] avg=204.14ms, median=203.00ms, stdev=2.95ms, min=200, max=210
3283 Info: [HTMLElement.outerHTML] avg=1544.10ms, median=1546.00ms, stdev=15.56ms, min=1514, max=1568
3284 Info: [HTMLElement.outerText] avg=216.05ms, median=207.00ms, stdev=18.19ms, min=201, max=247
3285 Info: [HTMLElement.contentEditable] avg=334.24ms, median=323.00ms, stdev=36.06ms, min=318, max=446
3286 Info: [HTMLElement.id="foo"] avg=53.19ms, median=53.00ms, stdev=1.76ms, min=52, max=58
3287 Info: [HTMLElement.title="foo"] avg=63.14ms, median=63.00ms, stdev=0.35ms, min=63, max=64
3288 Info: [HTMLElement.lang="foo"] avg=60.86ms, median=61.00ms, stdev=0.56ms, min=60, max=62
3289 Info: [HTMLElement.dir="foo"] avg=53.57ms, median=54.00ms, stdev=0.58ms, min=53, max=55
3290 Info: [HTMLElement.className="foo"] avg=64.52ms, median=64.00ms, stdev=0.91ms, min=63, max=66
3291 Info: [HTMLElement.tabIndex="foo"] avg=367.86ms, median=369.00ms, stdev=8.06ms, min=352, max=380
3292 Info: [HTMLElement.draggable="foo"] avg=79.43ms, median=79.00ms, stdev=0.58ms, min=79, max=81
3293 Info: [HTMLElement.webkitdropzone="foo"] avg=62.14ms, median=62.00ms, stdev=0.35ms, min=62, max=63
3294 Info: [HTMLElement.hidden="foo"] avg=61.67ms, median=62.00ms, stdev=0.71ms, min=61, max=64
3295 Info: [HTMLElement.accessKey="foo"] avg=61.86ms, median=62.00ms, stdev=0.56ms, min=61, max=63
3296 Info: [HTMLElement.spellcheck="foo"] avg=79.57ms, median=80.00ms, stdev=0.58ms, min=78, max=80
3297 Info: [HTMLElement.innerHTML="foo"] avg=1176.67ms, median=1169.00ms, stdev=26.60ms, min=1146, max=1246
3298 Info: [HTMLElement.innerText="foo"] avg=51.62ms, median=52.00ms, stdev=0.72ms, min=50, max=53
3299 Info: [Element.tagName] avg=79.52ms, median=80.00ms, stdev=1.05ms, min=78, max=81
3300 Info: [Element.style] avg=126.19ms, median=126.00ms, stdev=10.40ms, min=104, max=161
3301 Info: [Element.offsetLeft] avg=98.95ms, median=104.00ms, stdev=4.01ms, min=100, max=99
3302 Info: [Element.clientLeft] avg=98.33ms, median=102.00ms, stdev=2.59ms, min=100, max=99
3303 Info: [Element.scrollLeft] avg=103.29ms, median=96.00ms, stdev=15.63ms, min=100, max=97
3304 Info: [Element.dataset] avg=2448.62ms, median=2441.00ms, stdev=20.43ms, min=2426, max=2503
3305 Info: [Element.firstElementChild] avg=58.71ms, median=58.00ms, stdev=2.37ms, min=57, max=65
3306 Info: [Element.lastElementChild] avg=56.33ms, median=55.00ms, stdev=1.83ms, min=54, max=59
3307 Info: [Element.previousElementSibling] avg=52.95ms, median=52.00ms, stdev=1.70ms, min=52, max=57
3308 Info: [Element.nextElementSibling] avg=58.48ms, median=58.00ms, stdev=1.79ms, min=57, max=63
3309 Info: [Element.childElementCount] avg=64.57ms, median=64.00ms, stdev=1.81ms, min=63, max=71
3310 Info: [Element.onload] avg=98.38ms, median=98.00ms, stdev=0.49ms, min=98, max=99
3311 Info: [Element.scrollLeft="foo"] avg=95.24ms, median=95.00ms, stdev=0.92ms, min=94, max=98
3312 Info: [Element.onload="foo"] avg=67.14ms, median=67.00ms, stdev=0.56ms, min=66, max=68
3313 Info: [Node.nodeName] avg=76.29ms, median=76.00ms, stdev=0.63ms, min=75, max=77
3314 Info: [Node.nodeType] avg=53.05ms, median=52.00ms, stdev=2.61ms, min=52, max=61
3315 Info: [Node.parentNode] avg=53.52ms, median=53.00ms, stdev=1.22ms, min=52, max=56
3316 Info: [Node.childNodes] avg=118.33ms, median=123.00ms, stdev=8.85ms, min=107, max=129
3317 Info: [Node.firstChild] avg=53.62ms, median=53.00ms, stdev=1.13ms, min=51, max=55
3318 Info: [Node.lastChild] avg=53.14ms, median=53.00ms, stdev=1.21ms, min=52, max=55
3319 Info: [Node.previousSibling] avg=51.86ms, median=51.00ms, stdev=1.55ms, min=50, max=54
3320 Info: [Node.nextSibling] avg=52.86ms, median=54.00ms, stdev=1.81ms, min=50, max=55
3321 Info: [Node.attributes] avg=2027.71ms, median=2026.00ms, stdev=10.48ms, min=2010, max=2051
3322 Info: [Node.ownerDocument] avg=152.14ms, median=152.00ms, stdev=1.73ms, min=149, max=155
3323 Info: [Node.namespaceURI] avg=60.86ms, median=59.00ms, stdev=3.85ms, min=56, max=66
3324 Info: [Node.localName] avg=60.00ms, median=59.00ms, stdev=2.71ms, min=57, max=66
3325 Info: [Node.baseURI] avg=671.10ms, median=668.00ms, stdev=10.66ms, min=659, max=706
3326 Info: [Node.parentElement] avg=55.05ms, median=56.00ms, stdev=2.15ms, min=52, max=58
3327 Info: [Node.nodeValue] avg=61.24ms, median=60.00ms, stdev=2.56ms, min=59, max=68
3328 Info: [Node.prefix] avg=60.90ms, median=58.00ms, stdev=4.26ms, min=57, max=68
3329 Info: [Node.textContent] avg=149.71ms, median=149.00ms, stdev=1.12ms, min=148, max=152
3330 Info: [Node.nodeValue="foo"] avg=23.62ms, median=23.00ms, stdev=0.72ms, min=23, max=25
3331 Info: [Node.prefix="foo"] avg=49.57ms, median=49.00ms, stdev=0.73ms, min=49, max=51
3332 Info: [Node.textContent="foo"] avg=145.81ms, median=140.00ms, stdev=17.43ms, min=138, max=199
3334 * Bindings/dom_attributes.html: Added.
3335 * resources/runner.js:
3336 (PerfTestRunner.info):
3338 2012-02-22 Kentaro Hara <haraken@chromium.org>
3340 Add performance tests for the Element.id getter and setter
3341 https://bugs.webkit.org/show_bug.cgi?id=79209
3343 Reviewed by Adam Barth.
3345 This patch adds performance tests for the Element.id getter and setter.
3347 The results of 10 runs in my local Chromium/Linux are as follows:
3349 dom_attributes_id_getter.html:
3350 median= 92.0 ms, stdev= 1.65151445649 ms, min= 89.0 ms, max= 96.0 ms
3351 median= 87.5 ms, stdev= 1.84390889146 ms, min= 85.0 ms, max= 92.0 ms
3352 median= 94.0 ms, stdev= 1.46543508898 ms, min= 90.0 ms, max= 95.0 ms
3353 median= 86.0 ms, stdev= 1.66958078571 ms, min= 84.0 ms, max= 91.0 ms
3354 median= 94.0 ms, stdev= 2.25610283454 ms, min= 103.0 ms, max= 98.0 ms
3355 median= 86.0 ms, stdev= 1.49666295471 ms, min= 84.0 ms, max= 91.0 ms
3356 median= 86.0 ms, stdev= 1.5321553446 ms, min= 84.0 ms, max= 90.0 ms
3357 median= 86.0 ms, stdev= 2.20227155455 ms, min= 84.0 ms, max= 94.0 ms
3358 median= 96.0 ms, stdev= 1.74570902501 ms, min= 101.0 ms, max= 99.0 ms
3359 median= 86.0 ms, stdev= 1.63935963108 ms, min= 84.0 ms, max= 90.0 ms
3360 median= 94.0 ms, stdev= 1.49248115566 ms, min= 90.0 ms, max= 95.0 ms
3361 median= 88.0 ms, stdev= 5.20192272146 ms, min= 84.0 ms, max= 98.0 ms
3362 median= 86.0 ms, stdev= 1.41067359797 ms, min= 84.0 ms, max= 89.0 ms
3363 median= 86.0 ms, stdev= 1.48660687473 ms, min= 84.0 ms, max= 89.0 ms
3364 median= 94.0 ms, stdev= 1.58113883008 ms, min= 93.0 ms, max= 97.0 ms
3365 median= 86.0 ms, stdev= 1.95959179423 ms, min= 84.0 ms, max= 93.0 ms
3366 median= 86.0 ms, stdev= 1.8547236991 ms, min= 84.0 ms, max= 92.0 ms
3367 median= 86.0 ms, stdev= 1.39283882772 ms, min= 84.0 ms, max= 89.0 ms
3368 median= 88.0 ms, stdev= 1.48660687473 ms, min= 85.0 ms, max= 90.0 ms
3369 median= 86.5 ms, stdev= 2.3 ms, min= 84.0 ms, max= 93.0 ms
3371 dom_attributes_id_setter.html:
3372 median= 123.0 ms, stdev= 2.06397674406 ms, min= 119.0 ms, max= 128.0 ms
3373 median= 119.0 ms, stdev= 1.92028643697 ms, min= 117.0 ms, max= 123.0 ms
3374 median= 121.0 ms, stdev= 1.8781639971 ms, min= 118.0 ms, max= 123.0 ms
3375 median= 123.0 ms, stdev= 2.21585198062 ms, min= 119.0 ms, max= 130.0 ms
3376 median= 124.5 ms, stdev= 2.36378933071 ms, min= 119.0 ms, max= 129.0 ms
3377 median= 122.0 ms, stdev= 2.4474476501 ms, min= 118.0 ms, max= 128.0 ms
3378 median= 123.0 ms, stdev= 1.76351920885 ms, min= 118.0 ms, max= 125.0 ms
3379 median= 119.0 ms, stdev= 1.79652442232 ms, min= 117.0 ms, max= 125.0 ms
3380 median= 121.0 ms, stdev= 1.49916643506 ms, min= 119.0 ms, max= 123.0 ms
3381 median= 119.5 ms, stdev= 1.85135085816 ms, min= 117.0 ms, max= 125.0 ms
3382 median= 124.0 ms, stdev= 1.43090880213 ms, min= 120.0 ms, max= 124.0 ms
3383 median= 122.0 ms, stdev= 1.45859521458 ms, min= 118.0 ms, max= 123.0 ms
3384 median= 123.0 ms, stdev= 1.50332963784 ms, min= 120.0 ms, max= 124.0 ms
3385 median= 123.0 ms, stdev= 1.3638181697 ms, min= 120.0 ms, max= 125.0 ms
3386 median= 119.0 ms, stdev= 1.43527000944 ms, min= 117.0 ms, max= 121.0 ms
3387 median= 122.5 ms, stdev= 1.71682847134 ms, min= 118.0 ms, max= 124.0 ms
3388 median= 121.0 ms, stdev= 1.44481832768 ms, min= 118.0 ms, max= 123.0 ms
3389 median= 120.0 ms, stdev= 1.40978721799 ms, min= 117.0 ms, max= 122.0 ms
3390 median= 122.0 ms, stdev= 1.68522995464 ms, min= 119.0 ms, max= 125.0 ms
3391 median= 122.0 ms, stdev= 1.55804364509 ms, min= 118.0 ms, max= 123.0 ms
3394 * Bindings/dom_attributes_id_getter.html: Added.
3395 * Bindings/dom_attributes_id_setter.html: Added.
3396 * Bindings/resources/dom_attributes_common.js: Added.
3398 2012-02-16 Alexis Menard <alexis.menard@openbossa.org>
3400 Add a perf test for the CSS parser.
3401 https://bugs.webkit.org/show_bug.cgi?id=78114
3403 Reviewed by Ryosuke Niwa.
3405 Add a perf test for the CSS parser. It load a big CSS chunk
3406 which contains some snippets of the YUI library from Yahoo!.
3408 * Parser/css-parser-yui.html: Added.
3410 2012-02-08 Hajime Morrita <morrita@chromium.org>
3412 [PerformanceTests] sunspider-crypto-md5.html and sunspider-crypto-sha1.html are timing out on cr-mac perf bot
3413 https://bugs.webkit.org/show_bug.cgi?id=78174
3415 Reviewed by Ryosuke Niwa.
3417 Pulled back removed files.
3419 * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-md5.html: Added.
3420 * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-sha1.html: Added.
3422 2012-02-02 Hajime Morrita <morrita@chromium.org>
3424 [PerformanceTests] Each Dromaeo test needs its landing html.
3425 https://bugs.webkit.org/show_bug.cgi?id=77504
3427 Reviewed by Ryosuke Niwa.
3429 - Added landing pages for each test which are listed in MANIFEST.json
3430 - Removed some tests which depends on the library whose license is incompatible to WebKit.
3431 - Added local copy of corresponding library. And replace the references to the remote sources
3432 to the local copies.
3433 - Removed old library files under Dromaeo/resources/dromaeo/web/lib/.
3434 - Skipped Sunsupier and v8 test. Such JS centric test should have its own test instead of
3435 running as a part of Dromaeo.
3437 * Dromaeo/cssquery-dojo.html: Added.
3438 * Dromaeo/cssquery-jquery.html: Added.
3439 * Dromaeo/cssquery-prototype.html: Added.
3440 * Dromaeo/dom-attr.html: Added.
3441 * Dromaeo/dom-modify.html: Added.
3442 * Dromaeo/dom-traverse.html: Added.
3443 * Dromaeo/dromaeo-3d-cube.html: Added.
3444 * Dromaeo/dromaeo-core-eval.html: Added.
3445 * Dromaeo/dromaeo-object-array.html: Added.
3446 * Dromaeo/dromaeo-object-regexp.html: Added.
3447 * Dromaeo/dromaeo-object-string.html: Added.
3448 * Dromaeo/dromaeo-string-base64.html: Added.
3449 * Dromaeo/jslib-attr-jquery.html: Added.
3450 * Dromaeo/jslib-attr-prototype.html: Added.
3451 * Dromaeo/jslib-event-jquery.html: Added.