2012-07-26 Arnaud Renevier constructing TypedArray from another TypedArray is slow https://bugs.webkit.org/show_bug.cgi?id=90838 Reviewed by Kenneth Russell. * Bindings/typed-array-construct-from-same-type.html: Added. * Bindings/typed-array-construct-from-typed.html: Added. 2012-07-25 Ryosuke Niwa Import more replay performance tests from Mozilla's Tp5 test suite https://bugs.webkit.org/show_bug.cgi?id=92229 Reviewed by Andreas Kling. Add more replay tests based on Mozilla's Tp5 test suite [1]. Unfortunately, we cannot import all URLs because some of them are not archived on archive.org and others do not replay well on web-page-replay. Nonethless, we're still adding 60+ URLs in this patch. [1] http://people.mozilla.org/~jmaher/tp5.manifest * Replay/Chinese: Added. * Replay/Chinese/chinaz.com.replay: Added. * Replay/Chinese/www.163.com.replay: Added. * Replay/Chinese/www.alipay.com.replay: Added. * Replay/Chinese/www.baidu.com.replay: Added. * Replay/Chinese/www.csdn.net.replay: Added. * Replay/Chinese/www.douban.com.replay: Added. * Replay/Chinese/www.hao123.com.replay: Added. * Replay/Chinese/www.xinhuanet.com.replay: Added. * Replay/Chinese/www.xunlei.com.replay: Added. * Replay/Chinese/www.youku.com.replay: Added. * Replay/English: Added. * Replay/English/beatonna.livejournal.com.replay: Added. * Replay/English/cakewrecks.blogspot.com.replay: Added. * Replay/English/chemistry.about.com.replay: Added. * Replay/English/digg.com.replay: Added. * Replay/English/en.wikipedia.org-rorschach_test.replay: Added. * Replay/English/icanhascheezburger.com.replay: Added. * Replay/English/imgur.com-gallery.replay: Added. * Replay/English/online.wsj.com.replay: Added. * Replay/English/stockoverflow.com-best-comment.replay: Added. * Replay/English/www.alibaba.com.replay: Added. * Replay/English/www.amazon.com-kindle.replay: Added. * Replay/English/www.apple.com.replay: Added. * Replay/English/www.cnet.com.replay: Added. * Replay/English/www.dailymotion.com.replay: Added. * Replay/English/www.ehow.com-prevent-fire.replay: Added. * Replay/English/www.filestube.com-amy-adams.replay: Added. * Replay/English/www.foxnews.replay: Added. * Replay/English/www.huffingtonpost.com.replay: Added. * Replay/English/www.imdb.com-twilight.replay: Added. * Replay/English/www.mozilla.com-all-order.replay: Added. * Replay/English/www.php.net.replay: Added. * Replay/English/www.reddit.com.replay: Added. * Replay/English/www.telegraph.co.uk.replay: Added. * Replay/English/www.w3.org-htmlcss.replay: Added. * Replay/English/www.w3schools.com-html.replay: Added. * Replay/English/www.youtube.com-music.replay: Added. * Replay/French: Added. * Replay/French/www.orange.fr.replay: Added. * Replay/German: Added. * Replay/Italian: Added. * Replay/Italian/www.repubblica.it.replay: Added. * Replay/Japanese/entameblog.seesaa.net.replay: Added. * Replay/Japanese/www.hatena.ne.jp.replay: Added. * Replay/Japanese/www.nicovideo.jp.replay: Added. * Replay/Korean: Added. * Replay/Korean/www.naver.com.replay: Added. * Replay/Persian: Added. * Replay/Persian/blogfa.com.replay: Added. * Replay/Polish: Added. * Replay/Polish/www.wp.pl.replay: Added. * Replay/Portuguese: Added. * Replay/Portuguese/www.uol.com.br.replay: Added. * Replay/Russian: Added. * Replay/Russian/vkontakte.ru-help.replay: Added. * Replay/Russian/www.rambler.ru.replay: Added. * Replay/Russian/www.ucoz.ru.replay: Added. * Replay/Russian/www.yandex.ru.replay: Added. * Replay/Spanish: Added. * Replay/Spanish/www.taringa.net.replay: Added. 2012-07-24 Ryosuke Niwa Add some Japanese and Swedish websites to replay tests https://bugs.webkit.org/show_bug.cgi?id=92076 Reviewed by Andreas Kling. Added new replay tests as follows. * Replay/Japanese: Added. * Replay/Japanese/2ch.net-newsplus.replay: Added. * Replay/Japanese/ja.wikipedia.org.replay: Added. * Replay/Japanese/www.livedoor.com.replay: Added. * Replay/Japanese/www.rakuten.co.jp.replay: Added. * Replay/Japanese/www.yahoo.co.jp.replay: Added. * Replay/Swedish: Added. * Replay/Swedish/www.flashback.se.replay: Added. * Replay/Swedish/www.tradera.com.replay: Added. * Replay/www.techcrunch.com.replay: Added. 2012-07-18 MORITA Hajime Add window resize benchmark https://bugs.webkit.org/show_bug.cgi?id=91070 Reviewed by Ryosuke Niwa. Added window-resize.html which exercise html5.html. This test resizes the window and forces re-layout repeatedly. * Interactive/resources/window-resize.js: Added. * Interactive/window-resize.html: Added. * Parser/resources/html5.html: Modified to inject driver scripts. 2012-07-11 Philip Rogers Add a performance test for hit testing in SVG https://bugs.webkit.org/show_bug.cgi?id=90811 Reviewed by Ryosuke Niwa. The shape rendering code is changing a lot and I'd like a performance test to make sure we don't regress, and to track our improvements. Performance results in my Linux desktop: RESULT SVG: SvgHitTesting= 105.0 ms median= 103.5 ms, stdev= 4.60434577329 ms, min= 101.0 ms, max= 116.0 ms RESULT SVG: SvgHitTesting= 97.8 ms median= 96.5 ms, stdev= 2.67581763205 ms, min= 95.0 ms, max= 102.0 ms RESULT SVG: SvgHitTesting= 104.3 ms median= 104.0 ms, stdev= 1.41774468788 ms, min= 102.0 ms, max= 107.0 ms RESULT SVG: SvgHitTesting= 103.6 ms median= 103.5 ms, stdev= 1.2 ms, min= 102.0 ms, max= 106.0 ms * SVG/SvgHitTesting.html: Added. 2012-07-03 Jan Keromnes Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor https://bugs.webkit.org/show_bug.cgi?id=89939 Reviewed by Vsevolod Vlasov. * inspector/first-open-scripts.html.broken: 2012-06-22 Philip Rogers Make SvgCubics performance test more consistent https://bugs.webkit.org/show_bug.cgi?id=89778 Reviewed by Ryosuke Niwa. Previously this test ran twice for each iteration, but this led to inconsistent repaints. This change updates the test to only run once per iteration, and adds even more cubics so that the test runs consistently in the 80ms range on my Linux desktop. Performance results on my desktop: RESULT SVG: SvgCubics= 80.5 ms median= 82.0 ms, stdev= 3.04138126515 ms, min= 75.0 ms, max= 85.0 ms RESULT SVG: SvgCubics= 80.1 ms median= 81.0 ms, stdev= 4.27668095607 ms, min= 74.0 ms, max= 88.0 ms RESULT SVG: SvgCubics= 81.45 ms median= 83.0 ms, stdev= 4.01839520207 ms, min= 75.0 ms, max= 89.0 ms RESULT SVG: SvgCubics= 78.9 ms median= 80.0 ms, stdev= 4.75289385533 ms, min= 72.0 ms, max= 87.0 ms * SVG/SvgCubics.html: 2012-06-22 Ilya Tikhonovsky Web Inspector: partially instrument DOM Tree native memory. https://bugs.webkit.org/show_bug.cgi?id=89568 This patch adds MemoryInstrumentation class that counts all visited objects and calls reportMemoryUsage. Reviewed by Yury Semikhatsky. * inspector/native-memory-snapshot.html: 2012-06-21 Kentaro Hara Add a perf-test for innerHTML setter for a large DOM tree https://bugs.webkit.org/show_bug.cgi?id=89723 Reviewed by Ryosuke Niwa. We want a benchmark for innerHTML setter for the following reason: - innerHTML setter is widely used in the real world. - I am planning to optimize innerHTML setter in the near future. - I want to use the innerHTML setter benchmark for the patch of bug 88834. Performance results in my Linux desktop: RESULT Parser: innerHTML-setter= 289.782649995 runs/s median= 290.046269741 runs/s, stdev= 1.06575112224 runs/s, min= 286.831812256 runs/s, max= 291.005291005 runs/s RESULT Parser: innerHTML-setter= 289.020706132 runs/s median= 289.093298292 runs/s, stdev= 0.985203313093 runs/s, min= 286.831812256 runs/s, max= 290.620871863 runs/s RESULT Parser: innerHTML-setter= 288.912051701 runs/s median= 291.005291005 runs/s, stdev= 3.65241325588 runs/s, min= 283.505154639 runs/s, max= 292.553191489 runs/s RESULT Parser: innerHTML-setter= 288.644186666 runs/s median= 288.713910761 runs/s, stdev= 1.31889053717 runs/s, min= 286.085825748 runs/s, max= 290.620871863 runs/s RESULT Parser: innerHTML-setter= 288.698714577 runs/s median= 288.713910761 runs/s, stdev= 1.03938198202 runs/s, min= 286.458333333 runs/s, max= 290.237467018 runs/s * Parser/innerHTML-setter.html: Added. 2012-06-20 Philip Rogers Add a performance test for paths in SVG https://bugs.webkit.org/show_bug.cgi?id=89547 Reviewed by Ryosuke Niwa. This change adds the first performance test for SVG paths. In the test we modify complex cubic paths in several ways, testing: transformations, clipping, d attribute changes, stroke properties, text on a path, and opacity. Sample test results on my Linux desktop: RESULT SVG: SvgCubics= 68.85 ms median= 69.5 ms, stdev= 4.70398767005 ms, min= 56.0 ms, max= 75.0 ms RESULT SVG: SvgCubics= 68.4 ms median= 69.0 ms, stdev= 3.51283361405 ms, min= 59.0 ms, max= 74.0 ms RESULT SVG: SvgCubics= 66.95 ms median= 67.0 ms, stdev= 3.4420197559 ms, min= 59.0 ms, max= 74.0 ms RESULT SVG: SvgCubics= 70.2 ms median= 71.5 ms, stdev= 3.23419232576 ms, min= 63.0 ms, max= 74.0 ms * SVG: Added. * SVG/SvgCubics.html: Added. 2012-06-20 Tom Zakrajsek Import themaninblue.com/experiment/AnimationBenchmark/ as performance tests https://bugs.webkit.org/show_bug.cgi?id=78789 Reviewed by Ryosuke Niwa. Added PerfTestRunner fixture around it. * Animation/balls.html: Added. 2012-06-18 Ilya Tikhonovsky Web Inspector: native memory snapshot performance and coverage test implementation. https://bugs.webkit.org/show_bug.cgi?id=89363 We have to track the performance of MemoryAgent.getProcessMemoryDistribution. Also this test will work as a burn down chart for Unknown memory metric. Reviewed by Pavel Feldman. * inspector/native-memory-snapshot.html: Added. * inspector/performance-test.js: (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer): (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.reportSize): (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump): (initialize_TimeTracker.InspectorTest.runPerformanceTest): 2012-06-05 Alexei Filippov Web Inspector: serialize edge counts instead of indexes in heap snapshot https://bugs.webkit.org/show_bug.cgi?id=88324 The serialized node structure currently holds an index of its first containment edge in the edges array. The index can be quite big (up to 7 digits for large snapshots). The patch changes the serialization format to pass node containment edge count instead. For most nodes the count is just a single digit number. This reduces serialized snapshot size and therefore its transfer time. Reviewed by Yury Semikhatsky. * inspector/heap-snapshot-performance-test.js: 2012-06-04 Alexei Filippov Web Inspector: speed up _calculateRetainedSizes function https://bugs.webkit.org/show_bug.cgi?id=87863 Reviewed by Yury Semikhatsky. * inspector/heap-snapshot-advanced.html: Added. * inspector/heap-snapshot-performance-test.js: Copied from PerformanceTests/inspector/heap-snapshot.html. (test.performanceTest.step0): (test.performanceTest.step1): (test.performanceTest.step2): (test.performanceTest.cleanup): (test.performanceTest.done): (test.performanceTest): (test): * inspector/heap-snapshot.html: 2012-06-03 Kentaro Hara [perf-test] Add a benchmark of querySelector() for an element that appears in the depths in the document https://bugs.webkit.org/show_bug.cgi?id=88202 Reviewed by Ryosuke Niwa. query-selector-first.html tests querySelector() for an element that appears at the head of the document. query-selector-last.html tests querySelector() for an element that appears at the tail of the document. In addition, we want a benchmark of querySelector() for an element that appears in the depths in the document. Test results in my Linux desktop: RESULT Parser: query-selector-deep= 460.776980611 runs/s median= 460.947503201 runs/s, stdev= 1.72274941942 runs/s, min= 455.696202532 runs/s, max= 463.32046332 runs/s RESULT Parser: query-selector-deep= 458.925050915 runs/s median= 459.183673469 runs/s, stdev= 1.47930124139 runs/s, min= 454.545454545 runs/s, max= 460.947503201 runs/s RESULT Parser: query-selector-deep= 461.866981491 runs/s median= 461.538461538 runs/s, stdev= 1.14613123359 runs/s, min= 459.183673469 runs/s, max= 463.917525773 runs/s RESULT Parser: query-selector-deep= 453.922010788 runs/s median= 454.258855898 runs/s, stdev= 1.77279123317 runs/s, min= 447.204968944 runs/s, max= 455.696202532 runs/s RESULT Parser: query-selector-deep= 454.666321221 runs/s median= 454.545454545 runs/s, stdev= 1.65775667417 runs/s, min= 451.127819549 runs/s, max= 456.852791878 runs/s * Parser/query-selector-deep.html: Added. 2012-06-03 Kentaro Hara [perf-test] Make query-selector-last.html more realistic https://bugs.webkit.org/show_bug.cgi?id=88203 Reviewed by Ryosuke Niwa. query-selector-last.html tests querySelector() for an element that appears after 1000 div elements, all of which have the same id and class. To test the performance of querySelector() under a lot of ids and classes, we should make the ids and classes of the 1000 elements different. This patch degrades the performance of query-selector-last.html by 3.6%. [Before] RESULT Parser: query-selector-last= 476.382274152 runs/s median= 476.821192053 runs/s, stdev= 1.14578875814 runs/s, min= 474.308300395 runs/s, max= 478.087649402 runs/s RESULT Parser: query-selector-last= 478.423061861 runs/s median= 478.723404255 runs/s, stdev= 1.54876867255 runs/s, min= 473.684210526 runs/s, max= 481.347773767 runs/s RESULT Parser: query-selector-last= 479.849287174 runs/s median= 480.0 runs/s, stdev= 1.69849752498 runs/s, min= 475.561426684 runs/s, max= 481.927710843 runs/s RESULT Parser: query-selector-last= 476.765438846 runs/s median= 477.453580902 runs/s, stdev= 1.8724488664 runs/s, min= 471.821756225 runs/s, max= 478.723404255 runs/s RESULT Parser: query-selector-last= 481.715340644 runs/s median= 481.637742305 runs/s, stdev= 1.81446361145 runs/s, min= 475.561426684 runs/s, max= 483.675937122 runs/s [After] RESULT Parser: query-selector-last= 458.866623582 runs/s median= 459.183673469 runs/s, stdev= 1.48881464737 runs/s, min= 453.972257251 runs/s, max= 460.947503201 runs/s RESULT Parser: query-selector-last= 460.363532897 runs/s median= 460.358056266 runs/s, stdev= 1.58512056995 runs/s, min= 456.273764259 runs/s, max= 462.130937099 runs/s RESULT Parser: query-selector-last= 457.727448451 runs/s median= 458.015267176 runs/s, stdev= 1.23681915516 runs/s, min= 453.972257251 runs/s, max= 459.183673469 runs/s RESULT Parser: query-selector-last= 465.57336853 runs/s median= 465.717981889 runs/s, stdev= 1.6616925374 runs/s, min= 460.947503201 runs/s, max= 467.532467532 runs/s RESULT Parser: query-selector-last= 459.836252019 runs/s median= 459.770114943 runs/s, stdev= 1.84485630505 runs/s, min= 455.696202532 runs/s, max= 462.724935733 runs/s * Parser/query-selector-last.html: 2012-06-01 Ryosuke Niwa Add public page loading performance tests using web-page-replay https://bugs.webkit.org/show_bug.cgi?id=84008 Reviewed by Dirk Pranke. Add replay tests for google.com and youtube.com as examples. * Replay: Added. * Replay/www.google.com.replay: Added. * Replay/www.youtube.com.replay: Added. 2012-05-30 Kentaro Hara [perf-test] Add a benchmark for querySelector() https://bugs.webkit.org/show_bug.cgi?id=87742 Reviewed by Ryosuke Niwa. Now I am optimizing querySelector() (bug 87625). This patch adds a performance test for querySelector(). query-selector-first.html queries an element that appears at the head of the document. On the other hand, query-selector-last.html queries an element that appears at the tail of the document. Test results in my desktop: [query-selector-first.html] RESULT Parser: query-selector-first= 252.339803014 runs/s median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s RESULT Parser: query-selector-first= 252.688468897 runs/s median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s RESULT Parser: query-selector-first= 253.466019656 runs/s median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s RESULT Parser: query-selector-first= 256.245078189 runs/s median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s RESULT Parser: query-selector-first= 252.203100497 runs/s median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s [query-selector-last.html] RESULT Parser: query-selector-last= 356.009616076 runs/s median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s RESULT Parser: query-selector-last= 360.735271001 runs/s median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s RESULT Parser: query-selector-last= 359.598592463 runs/s median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s RESULT Parser: query-selector-last= 357.260651715 runs/s median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s RESULT Parser: query-selector-last= 351.696240713 runs/s median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s * Parser/query-selector-first.html: Added. * Parser/query-selector-last.html: Added. 2012-05-25 Ilya Tikhonovsky Web Inspector: HeapSnapshot: introduce performance counter for HeapSnapshotConstructorsDataGrid._aggregatesReceived method. https://bugs.webkit.org/show_bug.cgi?id=87393 Reviewed by Yury Semikhatsky. * inspector/heap-snapshot.html: 2012-05-25 Ilya Tikhonovsky Web Inspector: HeapProfiler's perf test: each N-th run pushes the run results N-th times. https://bugs.webkit.org/show_bug.cgi?id=87476 The time tracking wrappers were attaching on each run. Reviewed by Yury Semikhatsky. * inspector/heap-snapshot.html: 2012-05-22 Ilya Tikhonovsky Web Inspector: HeapProfiler: upstream retainedSize calculation. https://bugs.webkit.org/show_bug.cgi?id=87107 This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end. After that we will be able to drop retainedSize field from the snapshot serialized data. See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089 Reviewed by Yury Semikhatsky. * inspector/heap-snapshot.html: add counter for the _calculateRetainedSize method. 2012-05-21 Kent Tamura Add performance tests for