[prev in list] [next in list] [prev in thread] [next in thread]
List: webkit-changes
Subject: [webkit-changes] [259098] trunk/PerformanceTests
From: sbarati () apple ! com
Date: 2020-03-27 2:05:53
Message-ID: 20200327020554.01B7610051CD () svn ! webkit ! org
[Download RAW message or body]
[Attachment #2 (text/html)]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[259098] trunk/PerformanceTests</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: \
verdana,arial,helvetica,sans-serif; font-size: 10pt; } #msg dl a { font-weight: \
bold} #msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: \
bold; } #msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: \
6px; } #logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em \
0; } #logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg \
h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; } \
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; \
} #logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: \
-1.5em; padding-left: 1.5em; } #logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em \
1em 0 1em; background: white;} #logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid \
#fa0; border-bottom: 1px solid #fa0; background: #fff; } #logmsg table th { \
text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted \
#fa0; } #logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: \
0.2em 0.5em; } #logmsg table thead th { text-align: center; border-bottom: 1px solid \
#fa0; } #logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: \
6px; } #patch { width: 100%; }
#patch h4 {font-family: \
verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, \
#patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch ins \
{background:#dfd;text-decoration:none;display:block;padding:0 10px;} #patch del \
{background:#fdd;text-decoration:none;display:block;padding:0 10px;} #patch .lines, \
.info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a \
href="http://trac.webkit.org/projects/webkit/changeset/259098">259098</a></dd> \
<dt>Author</dt> <dd>sbarati@apple.com</dd> <dt>Date</dt> <dd>2020-03-26 19:05:53 \
-0700 (Thu, 26 Mar 2020)</dd> </dl>
<h3>Log Message</h3>
<pre>Make it so RAMification can be run with python 3 and 2 and that it recognizes \
the new JavaScriptCore.framework directory structure \
https://bugs.webkit.org/show_bug.cgi?id=209636
Reviewed by Yusuke Suzuki.
- JavaScriptCore builds now put the jsc shell under \
JavaScriptCore.framework/Helpers/jsc, not JavaScriptCore.framework/Resources/jsc
- It's also helpful to be able to run RAMification with python3.7 and 2.7,
since there are some contexts where 3.7 is all we have.
* JetStream2/RAMification.py:
(frameworkPathFromExecutablePath):
(BaseRunner.processLine):
(LocalRunner.runOneTest):
(main.runTestList):
(main):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkPerformanceTestsChangeLog">trunk/PerformanceTests/ChangeLog</a></li>
<li><a href="#trunkPerformanceTestsJetStream2RAMificationpy">trunk/PerformanceTests/JetStream2/RAMification.py</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkPerformanceTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/PerformanceTests/ChangeLog (259097 => \
259098)</h4> <pre class="diff"><span>
<span class="info">--- trunk/PerformanceTests/ChangeLog 2020-03-27 01:35:59 UTC (rev \
259097)
+++ trunk/PerformanceTests/ChangeLog 2020-03-27 02:05:53 UTC (rev 259098)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2020-03-26 Saam Barati <sbarati@apple.com>
+
+ Make it so RAMification can be run with python 3 and 2 and that it \
recognizes the new JavaScriptCore.framework directory structure + \
https://bugs.webkit.org/show_bug.cgi?id=209636 +
+ Reviewed by Yusuke Suzuki.
+
+ - JavaScriptCore builds now put the jsc shell under \
JavaScriptCore.framework/Helpers/jsc, + not \
JavaScriptCore.framework/Resources/jsc + - It's also helpful to be able to run \
RAMification with python3.7 and 2.7, + since there are some contexts where \
3.7 is all we have. +
+ * JetStream2/RAMification.py:
+ (frameworkPathFromExecutablePath):
+ (BaseRunner.processLine):
+ (LocalRunner.runOneTest):
+ (main.runTestList):
+ (main):
+
</ins><span class="cx"> 2020-03-15 Yusuke Suzuki <ysuzuki@apple.com>
</span><span class="cx">
</span><span class="cx"> Should not use variable-length-array (VLA)
</span></span></pre></div>
<a id="trunkPerformanceTestsJetStream2RAMificationpy"></a>
<div class="modfile"><h4>Modified: trunk/PerformanceTests/JetStream2/RAMification.py \
(259097 => 259098)</h4> <pre class="diff"><span>
<span class="info">--- trunk/PerformanceTests/JetStream2/RAMification.py 2020-03-27 \
01:35:59 UTC (rev 259097)
+++ trunk/PerformanceTests/JetStream2/RAMification.py 2020-03-27 02:05:53 UTC (rev \
259098) </span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> import os
</span><span class="cx"> import re
</span><span class="cx"> import subprocess
</span><ins>+import sys
</ins><span class="cx">
</span><span class="cx"> jitTests = ["3d-cube-SP", \
"3d-raytrace-SP", "acorn-wtb", "ai-astar", \
"Air", "async-fs", "Babylon", "babylon-wtb", \
"base64-SP", "Basic", "Box2D", "cdjs", \
"chai-wtb", "coffeescript-wtb", "crypto", \
"crypto-aes-SP", "crypto-md5-SP", "crypto-sha1-SP", \
"date-format-tofte-SP", "date-format-xparb-SP", \
"delta-blue", "earley-boyer", "espree-wtb", \
"first-inspector-code-load", "FlightPlanner", \
"float-mm.c", "gaussian-blur", "gbemu", \
"gcc-loops-wasm", "hash-map", "HashSet-wasm", \
"jshint-wtb", "json-parse-inspector", \
"json-stringify-inspector", "lebab-wtb", "mandreel", \
"ML", "multi-inspector-code-load&quo t;, "n-body-SP", \
"navier-stokes", "octane-code-load", "octane-zlib", \
"OfflineAssembler", "pdfjs", "prepack-wtb", \
"quicksort-wasm", "raytrace", "regex-dna-SP", \
"regexp", "richards", "richards-wasm", \
"splay", "stanford-crypto-aes", \
"stanford-crypto-pbkdf2", "stanford-crypto-sha256", \
"string-unpack-code-SP", "tagcloud-SP", "tsf-wasm", \
"typescript", "uglify-js-wtb", "UniPoker", \
"WSL"] </span><span class="cx">
</span><span class="lines">@@ -80,6 +81,10 @@
</span><span class="cx"> if pathMatch:
</span><span class="cx"> return pathMatch.group(1)
</span><span class="cx">
</span><ins>+ pathMatch = \
re.match("(.*?)/JavaScriptCore.framework/Helpers/([a-zA-Z]+)$", execPath) + \
if pathMatch: + return pathMatch.group(1)
+
</ins><span class="cx"> pathMatch = \
re.match("(.*?/(Release|Debug)+)/([a-zA-Z]+)$", execPath) </span><span \
class="cx"> if pathMatch: </span><span class="cx"> return \
pathMatch.group(1) </span><span class="lines">@@ -158,7 +163,7 @@
</span><span class="cx"> self.returnCode = 0
</span><span class="cx">
</span><span class="cx"> def processLine(self, line):
</span><del>- line = line.strip()
</del><ins>+ line = str(line.strip())
</ins><span class="cx">
</span><span class="cx"> footprintMatch = re.match(footprintRE, line)
</span><span class="cx"> if footprintMatch:
</span><span class="lines">@@ -198,6 +203,9 @@
</span><span class="cx"> proc = subprocess.Popen(args, cwd=self.rootDir, \
env=self.environmentVars, stdout=subprocess.PIPE, stderr=None, shell=False) \
</span><span class="cx"> while True: </span><span class="cx"> \
line = proc.stdout.readline() </span><ins>+ if sys.version_info[0] >= \
3: + line = str(line, "utf-8")
+
</ins><span class="cx"> self.processLine(line)
</span><span class="cx">
</span><span class="cx"> if line == "":
</span><span class="lines">@@ -241,12 +249,12 @@
</span><span class="cx"> else:
</span><span class="cx"> testName, test, weight = testInfo, testInfo, \
1 </span><span class="cx">
</span><del>- print "Running {}...".format(testName),
</del><ins>+ sys.stdout.write("Running {}... ".format(testName))
</ins><span class="cx"> testResult = testRunner.runOneTest(test, \
extraOptions, useJetStream2Harness) </span><span class="cx">
</span><span class="cx"> if testResult.returnCode == 0 and \
testResult.footprint and testResult.peakFootprint: </span><span class="cx"> \
if args.verbose: </span><del>- print "footprint: {}, peak \
footprint: {}".format(testResult.footprint, testResult.peakFootprint) \
</del><ins>+ print("footprint: {}, peak footprint: \
{}".format(testResult.footprint, testResult.peakFootprint)) </ins><span \
class="cx"> else: </span><span class="cx"> print
</span><span class="cx">
</span><span class="lines">@@ -260,13 +268,13 @@
</span><span class="cx"> \
peakFootprintValues.append(testResult.peakFootprint / oneMB) </span><span class="cx"> \
else: </span><span class="cx"> hasFailedRuns = True
</span><del>- print "failed",
</del><ins>+ print("failed")
</ins><span class="cx"> if testResult.returnCode != 0:
</span><del>- print " exit code = \
{}".format(testResult.returnCode), </del><ins>+ print(" \
exit code = {}".format(testResult.returnCode)) </ins><span class="cx"> \
if not testResult.footprint: </span><del>- print " footprint \
= {}".format(testResult.footprint), </del><ins>+ print(" \
footprint = {}".format(testResult.footprint)) </ins><span class="cx"> \
if not testResult.peakFootprint: </span><del>- print " peak \
footprint = {}".format(testResult.peakFootprint), </del><ins>+ \
print(" peak footprint = {}".format(testResult.peakFootprint)) </ins><span \
class="cx"> print </span><span class="cx">
</span><span class="cx"> testScoresDict[test] = {"metrics": \
{"Allocations": ["Geometric"]}, "tests": \
{"end": {"metrics": {"Allocations": \
{"current": footprintScores}}}, "peak": {"metrics": \
{"Allocations": {"current": peakFootprintScores}}}}} </span><span \
class="lines">@@ -278,7 +286,7 @@ </span><span class="cx">
</span><span class="cx"> if args.runLuaTests:
</span><span class="cx"> if args.verbose:
</span><del>- print "== LuaJSFight No JIT tests =="
</del><ins>+ print("== LuaJSFight No JIT tests ==")
</ins><span class="cx">
</span><span class="cx"> # Use system malloc for LuaJSFight tests
</span><span class="cx"> testRunner.setEnv("Malloc", "X")
</span><span class="lines">@@ -291,7 +299,7 @@
</span><span class="cx">
</span><span class="cx"> if args.runGroupedTests:
</span><span class="cx"> if args.verbose:
</span><del>- print "== Grouped tests =="
</del><ins>+ print("== Grouped tests ==")
</ins><span class="cx">
</span><span class="cx"> scoresDict = runTestList(groupTests)
</span><span class="cx">
</span><span class="lines">@@ -299,7 +307,7 @@
</span><span class="cx">
</span><span class="cx"> if args.runJITTests:
</span><span class="cx"> if args.verbose:
</span><del>- print "== JIT tests =="
</del><ins>+ print("== JIT tests ==")
</ins><span class="cx">
</span><span class="cx"> scoresDict = runTestList(jitTests)
</span><span class="cx">
</span><span class="lines">@@ -307,7 +315,7 @@
</span><span class="cx">
</span><span class="cx"> if args.runNoJITTests:
</span><span class="cx"> if args.verbose:
</span><del>- print "== No JIT tests =="
</del><ins>+ print("== No JIT tests ==")
</ins><span class="cx">
</span><span class="cx"> scoresDict = runTestList(nonJITTests, \
["--useJIT=false", "-e", "testIterationCount=1"]) \
</span><span class="cx"> </span><span class="lines">@@ -318,13 +326,13 @@
</span><span class="cx"> totalScore = int(geomean([footprintGeomean, \
peakFootprintGeomean])) </span><span class="cx">
</span><span class="cx"> if footprintGeomean:
</span><del>- print "Footprint geomean: {} ({:.3f} \
MB)".format(footprintGeomean, footprintGeomean / oneMB) </del><ins>+ \
print("Footprint geomean: {} ({:.3f} MB)".format(footprintGeomean, \
footprintGeomean / oneMB)) </ins><span class="cx">
</span><span class="cx"> if peakFootprintGeomean:
</span><del>- print "Peak Footprint geomean: {} ({:.3f} \
MB)".format(peakFootprintGeomean, peakFootprintGeomean / oneMB) </del><ins>+ \
print("Peak Footprint geomean: {} ({:.3f} MB)".format(peakFootprintGeomean, \
peakFootprintGeomean / oneMB)) </ins><span class="cx">
</span><span class="cx"> if footprintGeomean and peakFootprintGeomean:
</span><del>- print "Score: {} ({:.3f} MB)".format(totalScore, \
totalScore / oneMB) </del><ins>+ print("Score: {} ({:.3f} \
MB)".format(totalScore, totalScore / oneMB)) </ins><span class="cx">
</span><span class="cx"> resultsDict = {"RAMification": \
{"metrics": {"Allocations": {"current": [totalScore]}}, \
"tests": testResultsDict}} </span><span class="cx">
</span><span class="lines">@@ -338,7 +346,7 @@
</span><span class="cx"> json.dump(resultsDict, jsonFile)
</span><span class="cx">
</span><span class="cx"> if hasFailedRuns:
</span><del>- print "Detected failed run(s), exiting with non-zero return \
code" </del><ins>+ print("Detected failed run(s), exiting with \
non-zero return code") </ins><span class="cx">
</span><span class="cx"> return hasFailedRuns
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic