Title: [184131] trunk/Tools
Revision
184131
Author
[email protected]
Date
2015-05-11 16:21:43 -0700 (Mon, 11 May 2015)

Log Message

run-benchmark should support Dromaeo
https://bugs.webkit.org/show_bug.cgi?id=144849

Reviewed by Chris Dumez.

Added the benchmark plans for Dromaeo DOM tests. We only run these tests once since
they can take as much as 15 minutes to run each.

* Scripts/webkitpy/benchmark_runner/data/patches/Dromaeo.patch: Added.
* Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-cssquery.plan: Added.
* Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-dom.plan: Added.
* Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-jslib.plan: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/Tools/ChangeLog (184130 => 184131)


--- trunk/Tools/ChangeLog	2015-05-11 23:18:14 UTC (rev 184130)
+++ trunk/Tools/ChangeLog	2015-05-11 23:21:43 UTC (rev 184131)
@@ -1,5 +1,20 @@
 2015-05-11  Ryosuke Niwa  <[email protected]>
 
+        run-benchmark should support Dromaeo
+        https://bugs.webkit.org/show_bug.cgi?id=144849
+
+        Reviewed by Chris Dumez.
+
+        Added the benchmark plans for Dromaeo DOM tests. We only run these tests once since
+        they can take as much as 15 minutes to run each.
+
+        * Scripts/webkitpy/benchmark_runner/data/patches/Dromaeo.patch: Added.
+        * Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-cssquery.plan: Added.
+        * Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-dom.plan: Added.
+        * Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-jslib.plan: Added.
+
+2015-05-11  Ryosuke Niwa  <[email protected]>
+
         Build fix. jetstream has a local copy, not remote archive.
 
         * Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan:

Added: trunk/Tools/Scripts/webkitpy/benchmark_runner/data/patches/Dromaeo.patch (0 => 184131)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/data/patches/Dromaeo.patch	                        (rev 0)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/data/patches/Dromaeo.patch	2015-05-11 23:21:43 UTC (rev 184131)
@@ -0,0 +1,92 @@
+diff --git a/web/webrunner.js b/web/webrunner.js
+index 63d777b..953c026 100755
+--- a/web/webrunner.js
++++ b/web/webrunner.js
+@@ -156,6 +156,7 @@
+ 
+ 			// Make Sum
+ 			results.sum = 0;
++			results.times = times;
+ 
+ 			for ( var i = 0; i < num; i++ )
+ 				results.sum += times[i];
+@@ -271,6 +272,7 @@
+ 			numTests = Number(m[1]);
+ 	}
+ 
++	var currentSuiteName = null;
+ 	jQuery(function(){
+ 		var id = search.match(/id=([\d,]+)/);
+ 
+@@ -282,6 +284,7 @@
+ 		var cat = filter.toString().slice(1,-2);
+ 
+ 		if ( catnames[cat] ) {
++			currentSuiteName = catnames[cat];
+ 			$("#overview span:first").html( catnames[cat] );
+ 
+ 			if ( catnames[cat].length > 22 ) {
+@@ -359,6 +362,25 @@
+ 			$("#overview input").remove();
+ 			updateTimebar();
+ 
++			var mean = (runStyle === "runs/s" ? Math.pow(Math.E, maxTotal / maxTotalNum) : maxTotal);
++			var resultsDict = {"Dromaeo": {"tests": {}}};
++			resultsDict["Dromaeo"]["tests"][currentSuiteName] = {"metrics": {"Runs": {"current": [mean]}}, "tests": subTests};
++			var results = JSON.stringify(resultsDict);
++			var xhr = new XMLHttpRequest();
++			xhr.open("POST", "/report");
++			xhr.setRequestHeader("Content-Type", "application/json");
++			xhr.setRequestHeader("Content-Length", results.length);
++			xhr.setRequestHeader("Connection", "close");
++			xhr._onreadystatechange_ = function() {
++			if(xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200) {
++					closeRequest = new XMLHttpRequest();
++					closeRequest.open("GET", "/shutdown");
++					closeRequest.send();
++				}
++			}
++			xhr.send(results);
++			return;
++
+ 			if ( window.limitSearch ) {
+ 				var summary = (runStyle === "runs/s" ? Math.pow(Math.E, maxTotal / maxTotalNum) : maxTotal).toFixed(2);
+ 
+@@ -421,7 +443,5 @@
+ 				}
+ 			});
+ 
+-		if ( window.limitSearch ) {
+-			$("#pause").click();
+-		}
++		$("#pause").click();
+ 	}
+@@ -673,8 +695,18 @@
+ 
+ 		$("#timebar").width((w < 1 ? 1 : w) + "%");
+ 	}
+-	
++
++	var subTests = {};
+ 	function logTest(data){
++		var subTestName = tests[data.curID].name; // e.g. DOM Attributes
++		if (!subTests[subTestName]) {
++			subTests[subTestName] = {
++				"metrics": {"Runs": {}},
++				"tests": {}
++			}
++		}
++		subTests[subTestName]["tests"][data.name] = {"metrics": {"Runs": {"current": [data.times]}}};
++
+ 		// Keep a running summary going
+ 		data.mean = parseFloat(data.mean);
+ 		var mean = (runStyle === "runs/s" ? Math.log(data.mean) : data.mean);
+@@ -711,6 +743,8 @@
+ 			per + "%;'>" + (per >= 100 ? "<span>" + mean.toFixed(2) + runStyle + "</span>" : "") + "</div></div>");
+ 
+ 		if ( per >= 100 && testSummary[data.curID] > 0 ) {
++			var subTestName = tests[data.curID].name; // e.g. DOM Attributes
++			subTests[subTestName]["metrics"]["Runs"]["current"] = [mean];
+ 			testElems[data.curID].parent().addClass("done");
+ 		}
+ 	}

Added: trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-cssquery.plan (0 => 184131)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-cssquery.plan	                        (rev 0)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-cssquery.plan	2015-05-11 23:21:43 UTC (rev 184131)
@@ -0,0 +1,11 @@
+{
+    "http_server_driver": "SimpleHTTPServerDriver",
+    "timeout": 1200,
+    "count": 1,
+    "benchmark_builder": "GenericBenchmarkBuilder",
+    "remote_archive": "https://github.com/jeresig/dromaeo/archive/ed7e6a8f25ea72f45c191f34a68722f80dc3c513.zip",
+    "benchmark_patch": "data/patches/Dromaeo.patch",
+    "create_script": ["make", "web"],
+    "entry_point": "web/index.html?cssquery",
+    "output_file": "dromaeo.result"
+}

Added: trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-dom.plan (0 => 184131)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-dom.plan	                        (rev 0)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-dom.plan	2015-05-11 23:21:43 UTC (rev 184131)
@@ -0,0 +1,11 @@
+{
+    "http_server_driver": "SimpleHTTPServerDriver",
+    "timeout": 1200,
+    "count": 1,
+    "benchmark_builder": "GenericBenchmarkBuilder",
+    "remote_archive": "https://github.com/jeresig/dromaeo/archive/ed7e6a8f25ea72f45c191f34a68722f80dc3c513.zip",
+    "benchmark_patch": "data/patches/Dromaeo.patch",
+    "create_script": ["make", "web"],
+    "entry_point": "web/index.html?dom",
+    "output_file": "dromaeo.result"
+}

Added: trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-jslib.plan (0 => 184131)


--- trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-jslib.plan	                        (rev 0)
+++ trunk/Tools/Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-jslib.plan	2015-05-11 23:21:43 UTC (rev 184131)
@@ -0,0 +1,11 @@
+{
+    "http_server_driver": "SimpleHTTPServerDriver",
+    "timeout": 1200,
+    "count": 1,
+    "benchmark_builder": "GenericBenchmarkBuilder",
+    "remote_archive": "https://github.com/jeresig/dromaeo/archive/ed7e6a8f25ea72f45c191f34a68722f80dc3c513.zip",
+    "benchmark_patch": "data/patches/Dromaeo.patch",
+    "create_script": ["make", "web"],
+    "entry_point": "web/index.html?jslib",
+    "output_file": "dromaeo.result"
+}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to