Bug 1596172 - Add perf-reftest-singletons to PGO training r=firefox-build-system-reviewers,mshal
authorDavid Major <dmajor@mozilla.com>
Thu, 14 Nov 2019 19:27:26 +0000
changeset 502043 0ee40940310074484845f8d2849896f0fe17cf83
parent 502042 74cc3a413cb0f2da50eb95dff6b6656ce4edabfc
child 502044 3af47ccb969a9c50101c1efffbefc5eaece26bb4
push id114172
push userdluca@mozilla.com
push dateTue, 19 Nov 2019 11:31:10 +0000
treeherdermozilla-inbound@b5c5ba07d3db [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersfirefox-build-system-reviewers, mshal
bugs1596172, 1592981
milestone72.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1596172 - Add perf-reftest-singletons to PGO training r=firefox-build-system-reviewers,mshal This ought to overcome a regression from 1592981 as well as make this test suite less noisy about toolchain updates in the future. While here, tidy up the PGO list: sort alphabetically, stop using a hardcoded test index for the Speedometer time extension, and stop using js-input/ for the virtual mappings since js-input/ is an actual directory in our repo. Differential Revision: https://phabricator.services.mozilla.com/D52888
build/pgo/index.html
build/pgo/profileserver.py
--- a/build/pgo/index.html
+++ b/build/pgo/index.html
@@ -2,21 +2,20 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 /* global Quitter */
 
  var list =
      [
-  "js-input/webkit/PerformanceTests/Speedometer/index.html",
-  "blueprint/sample.html",
+  "blueprint/elements.html",
   "blueprint/forms.html",
   "blueprint/grid.html",
-  "blueprint/elements.html",
+  "blueprint/sample.html",
   "js-input/3d-thingy.html",
   "js-input/crypto-otp.html",
   "js-input/sunspider/3d-cube.html",
   "js-input/sunspider/3d-morph.html",
   "js-input/sunspider/3d-raytrace.html",
   "js-input/sunspider/access-binary-trees.html",
   "js-input/sunspider/access-fannkuch.html",
   "js-input/sunspider/access-nbody.html",
@@ -35,32 +34,68 @@
   "js-input/sunspider/math-partial-sums.html",
   "js-input/sunspider/math-spectral-norm.html",
   "js-input/sunspider/regexp-dna.html",
   "js-input/sunspider/string-base64.html",
   "js-input/sunspider/string-fasta.html",
   "js-input/sunspider/string-tagcloud.html",
   "js-input/sunspider/string-unpack-code.html",
   "js-input/sunspider/string-validate-input.html",
+  "talos/tests/perf-reftest-singletons/abspos-reflow-1.html",
+  "talos/tests/perf-reftest-singletons/bidi-resolution-1.html",
+  "talos/tests/perf-reftest-singletons/bloom-basic-2.html",
+  "talos/tests/perf-reftest-singletons/bloom-basic.html",
+  "talos/tests/perf-reftest-singletons/coalesce-1.html",
+  "talos/tests/perf-reftest-singletons/coalesce-2.html",
+  "talos/tests/perf-reftest-singletons/display-none-1.html",
+  "talos/tests/perf-reftest-singletons/external-string-pass.html",
+  "talos/tests/perf-reftest-singletons/getElementById-1.html",
+  "talos/tests/perf-reftest-singletons/id-getter-1.html",
+  "talos/tests/perf-reftest-singletons/id-getter-2.html",
+  "talos/tests/perf-reftest-singletons/id-getter-3.html",
+  "talos/tests/perf-reftest-singletons/id-getter-4.html",
+  "talos/tests/perf-reftest-singletons/id-getter-5.html",
+  "talos/tests/perf-reftest-singletons/id-getter-6.html",
+  "talos/tests/perf-reftest-singletons/id-getter-7.html",
+  "talos/tests/perf-reftest-singletons/inline-style-cache-1.html",
+  "talos/tests/perf-reftest-singletons/link-style-cache-1.html",
+  "talos/tests/perf-reftest-singletons/nth-index-1.html",
+  "talos/tests/perf-reftest-singletons/nth-index-2.html",
+  "talos/tests/perf-reftest-singletons/only-children-1.html",
+  "talos/tests/perf-reftest-singletons/parent-basic-singleton.html",
+  "talos/tests/perf-reftest-singletons/scrollbar-styles-1.html",
+  "talos/tests/perf-reftest-singletons/slow-selector-1.html",
+  "talos/tests/perf-reftest-singletons/slow-selector-2.html",
+  "talos/tests/perf-reftest-singletons/style-attr-1.html",
+  "talos/tests/perf-reftest-singletons/style-sharing-style-attr.html",
+  "talos/tests/perf-reftest-singletons/style-sharing.html",
+  "talos/tests/perf-reftest-singletons/tiny-traversal-singleton.html",
+  "talos/tests/perf-reftest-singletons/window-named-property-get.html",
+  "webkit/PerformanceTests/Speedometer/index.html",
      ];
  var defaultInterval = 2000;
  var idx = 0;
  var w;
 
  window.onload = function() {
      w = window.open("about:blank");
      window.setTimeout(loadURL, defaultInterval);
  };
  function loadURL() {
      var interval = defaultInterval;
-     if (idx == 0) {
+     var testURL = list[idx++];
+     if (testURL.includes("webkit")) {
          interval = 90000;
      }
      w.close();
-     w = window.open(list[idx++]);
+     w = window.open(testURL);
+
+     // Prevent the perf-reftest-singletons from calling alert()
+     w.tpRecordTime = function() { };
+
      if (idx < list.length) {
      window.setTimeout(loadURL, interval);
      } else {
          window.setTimeout(Quitter.quit, interval);
      }
  }
  var i;
 
--- a/build/pgo/profileserver.py
+++ b/build/pgo/profileserver.py
@@ -16,17 +16,21 @@ from mozhttpd import MozHttpd
 from mozprofile import FirefoxProfile, Preferences
 from mozprofile.permissions import ServerLocations
 from mozrunner import FirefoxRunner, CLI
 from six import string_types
 
 PORT = 8888
 
 PATH_MAPPINGS = {
-    '/js-input/webkit/PerformanceTests': 'third_party/webkit/PerformanceTests',
+    '/webkit/PerformanceTests': 'third_party/webkit/PerformanceTests',
+    # It is tempting to map to `testing/talos/talos/tests` instead, to avoid
+    # writing `tests/` in every path, but we can't do that because some files
+    # refer to scripts located in `../..`.
+    '/talos': 'testing/talos/talos',
 }
 
 
 if __name__ == '__main__':
     cli = CLI()
     debug_args, interactive = cli.debugger_arguments()
     runner_args = cli.runner_args()