[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  &lt;sbarati@apple.com&gt;
+
+        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  &lt;ysuzuki@apple.com&gt;
</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 = [&quot;3d-cube-SP&quot;, \
&quot;3d-raytrace-SP&quot;, &quot;acorn-wtb&quot;, &quot;ai-astar&quot;, \
&quot;Air&quot;, &quot;async-fs&quot;, &quot;Babylon&quot;, &quot;babylon-wtb&quot;, \
&quot;base64-SP&quot;, &quot;Basic&quot;, &quot;Box2D&quot;, &quot;cdjs&quot;, \
&quot;chai-wtb&quot;, &quot;coffeescript-wtb&quot;, &quot;crypto&quot;, \
&quot;crypto-aes-SP&quot;, &quot;crypto-md5-SP&quot;, &quot;crypto-sha1-SP&quot;, \
&quot;date-format-tofte-SP&quot;, &quot;date-format-xparb-SP&quot;, \
&quot;delta-blue&quot;, &quot;earley-boyer&quot;, &quot;espree-wtb&quot;, \
&quot;first-inspector-code-load&quot;, &quot;FlightPlanner&quot;, \
&quot;float-mm.c&quot;, &quot;gaussian-blur&quot;, &quot;gbemu&quot;, \
&quot;gcc-loops-wasm&quot;, &quot;hash-map&quot;, &quot;HashSet-wasm&quot;, \
&quot;jshint-wtb&quot;, &quot;json-parse-inspector&quot;, \
&quot;json-stringify-inspector&quot;, &quot;lebab-wtb&quot;, &quot;mandreel&quot;, \
&quot;ML&quot;, &quot;multi-inspector-code-load&quo  t;, &quot;n-body-SP&quot;, \
&quot;navier-stokes&quot;, &quot;octane-code-load&quot;, &quot;octane-zlib&quot;, \
&quot;OfflineAssembler&quot;, &quot;pdfjs&quot;, &quot;prepack-wtb&quot;, \
&quot;quicksort-wasm&quot;, &quot;raytrace&quot;, &quot;regex-dna-SP&quot;, \
&quot;regexp&quot;, &quot;richards&quot;, &quot;richards-wasm&quot;, \
&quot;splay&quot;, &quot;stanford-crypto-aes&quot;, \
&quot;stanford-crypto-pbkdf2&quot;, &quot;stanford-crypto-sha256&quot;, \
&quot;string-unpack-code-SP&quot;, &quot;tagcloud-SP&quot;, &quot;tsf-wasm&quot;, \
&quot;typescript&quot;, &quot;uglify-js-wtb&quot;, &quot;UniPoker&quot;, \
&quot;WSL&quot;] </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(&quot;(.*?)/JavaScriptCore.framework/Helpers/([a-zA-Z]+)$&quot;, execPath) + \
if pathMatch: +        return pathMatch.group(1)
+
</ins><span class="cx">     pathMatch = \
re.match(&quot;(.*?/(Release|Debug)+)/([a-zA-Z]+)$&quot;, 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] &gt;= \
3: +                line = str(line, &quot;utf-8&quot;)
+
</ins><span class="cx">             self.processLine(line)
</span><span class="cx"> 
</span><span class="cx">             if line == &quot;&quot;:
</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 &quot;Running {}...&quot;.format(testName),
</del><ins>+            sys.stdout.write(&quot;Running {}... &quot;.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 &quot;footprint: {}, peak \
footprint: {}&quot;.format(testResult.footprint, testResult.peakFootprint) \
</del><ins>+                    print(&quot;footprint: {}, peak footprint: \
{}&quot;.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 &quot;failed&quot;,
</del><ins>+                print(&quot;failed&quot;)
</ins><span class="cx">                 if testResult.returnCode != 0:
</span><del>-                    print &quot; exit code = \
{}&quot;.format(testResult.returnCode), </del><ins>+                    print(&quot; \
exit code = {}&quot;.format(testResult.returnCode)) </ins><span class="cx">           \
if not testResult.footprint: </span><del>-                    print &quot; footprint \
= {}&quot;.format(testResult.footprint), </del><ins>+                    print(&quot; \
footprint = {}&quot;.format(testResult.footprint)) </ins><span class="cx">            \
if not testResult.peakFootprint: </span><del>-                    print &quot; peak \
footprint = {}&quot;.format(testResult.peakFootprint), </del><ins>+                   \
print(&quot; peak footprint = {}&quot;.format(testResult.peakFootprint)) </ins><span \
class="cx">                 print </span><span class="cx"> 
</span><span class="cx">             testScoresDict[test] = {&quot;metrics&quot;: \
{&quot;Allocations&quot;: [&quot;Geometric&quot;]}, &quot;tests&quot;: \
{&quot;end&quot;: {&quot;metrics&quot;: {&quot;Allocations&quot;: \
{&quot;current&quot;: footprintScores}}}, &quot;peak&quot;: {&quot;metrics&quot;: \
{&quot;Allocations&quot;: {&quot;current&quot;: 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 &quot;== LuaJSFight No JIT tests ==&quot;
</del><ins>+            print(&quot;== LuaJSFight No JIT tests ==&quot;)
</ins><span class="cx"> 
</span><span class="cx">         # Use system malloc for LuaJSFight tests
</span><span class="cx">         testRunner.setEnv(&quot;Malloc&quot;, &quot;X&quot;)
</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 &quot;== Grouped tests ==&quot;
</del><ins>+            print(&quot;== Grouped tests ==&quot;)
</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 &quot;== JIT tests ==&quot;
</del><ins>+            print(&quot;== JIT tests ==&quot;)
</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 &quot;== No JIT tests ==&quot;
</del><ins>+            print(&quot;== No JIT tests ==&quot;)
</ins><span class="cx"> 
</span><span class="cx">         scoresDict = runTestList(nonJITTests, \
[&quot;--useJIT=false&quot;, &quot;-e&quot;, &quot;testIterationCount=1&quot;]) \
</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 &quot;Footprint geomean: {} ({:.3f} \
MB)&quot;.format(footprintGeomean, footprintGeomean / oneMB) </del><ins>+        \
print(&quot;Footprint geomean: {} ({:.3f} MB)&quot;.format(footprintGeomean, \
footprintGeomean / oneMB)) </ins><span class="cx"> 
</span><span class="cx">     if peakFootprintGeomean:
</span><del>-        print &quot;Peak Footprint geomean: {} ({:.3f} \
MB)&quot;.format(peakFootprintGeomean, peakFootprintGeomean / oneMB) </del><ins>+     \
print(&quot;Peak Footprint geomean: {} ({:.3f} MB)&quot;.format(peakFootprintGeomean, \
peakFootprintGeomean / oneMB)) </ins><span class="cx"> 
</span><span class="cx">     if footprintGeomean and peakFootprintGeomean:
</span><del>-        print &quot;Score: {} ({:.3f} MB)&quot;.format(totalScore, \
totalScore / oneMB) </del><ins>+        print(&quot;Score: {} ({:.3f} \
MB)&quot;.format(totalScore, totalScore / oneMB)) </ins><span class="cx"> 
</span><span class="cx">     resultsDict = {&quot;RAMification&quot;: \
{&quot;metrics&quot;: {&quot;Allocations&quot;: {&quot;current&quot;: [totalScore]}}, \
&quot;tests&quot;: 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 &quot;Detected failed run(s), exiting with non-zero return \
code&quot; </del><ins>+        print(&quot;Detected failed run(s), exiting with \
non-zero return code&quot;) </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