Force GC between PageLoad tests.
authorpdr@google.com <pdr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 4 Oct 2012 06:29:45 +0000 (06:29 +0000)
committerpdr@google.com <pdr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 4 Oct 2012 06:29:45 +0000 (06:29 +0000)
commitb542a359e8e92df5a161801baa31a8adf5eb3efe
tree2008d6fd9951240a458184a89873d214d5c79407
parentfb19bc5e4634f8816c19d85e0d5f644cec03f5d9
Force GC between PageLoad tests.
https://bugs.webkit.org/show_bug.cgi?id=98203

Reviewed by Ryosuke Niwa.

Previously, our PageLoad PerfTests had multi-modal distributions,
typically with a small cluster at 1-2x the median. This turned out
to be caused by not garbage collecting between tests!

This patch adds a new file, force-gc.html, and loads this file between
PageLoad tests to force a GC. I manually verified that this cleans up
our perf test outliers.

PerformanceTests:

* resources/force-gc.html: Added.

Tools:

* Scripts/webkitpy/performance_tests/perftest.py:
(PageLoadingPerfTest.__init__):
(PageLoadingPerfTest):
(PageLoadingPerfTest.run_single):

    This function now loads two pages: one to force a gc and
    then the test to run.

* Scripts/webkitpy/performance_tests/perftest_unittest.py:

    Modified several existing tests to show that the force-gc file
    is loaded.

(MockPort):
(MockPort.__init__):
(MockPort.perf_tests_dir):
(TestPageLoadingPerfTest.MockDriver.__init__):
(TestPageLoadingPerfTest.MockDriver.run_test):
(TestPageLoadingPerfTest.test_run):
(TestPageLoadingPerfTest.test_run_with_bad_output):
(TestReplayPerfTest.ReplayTestPort):
(TestReplayPerfTest.ReplayTestPort.__init__):
(TestReplayPerfTest.test_run_single.run_test):
(TestReplayPerfTest.test_run_single):
(TestReplayPerfTest.test_run_single_fails_when_output_has_error):
(TestPerfTestFactory.test_regular_test):
(TestPerfTestFactory.test_inspector_test):
(TestPerfTestFactory.test_page_loading_test):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@130366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
PerformanceTests/ChangeLog
PerformanceTests/resources/force-gc.html [new file with mode: 0644]
Tools/ChangeLog
Tools/Scripts/webkitpy/performance_tests/perftest.py
Tools/Scripts/webkitpy/performance_tests/perftest_unittest.py