<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - We've regressed octane codeload by 8% since the revision before arrow functions"
href="https://bugs.webkit.org/show_bug.cgi?id=156252#c15">Comment # 15</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - We've regressed octane codeload by 8% since the revision before arrow functions"
href="https://bugs.webkit.org/show_bug.cgi?id=156252">bug 156252</a>
from <span class="vcard"><a class="email" href="mailto:sbarati@apple.com" title="Saam Barati <sbarati@apple.com>"> <span class="fn">Saam Barati</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=156252#c14">comment #14</a>)
<span class="quote">> There are some result of performance tests.
> Important to receive this result was used modified code-load.js file, where
> it possible were replace common function to arrow function in following way:
> unction () replace by (a0,b0,c0,d0,e0,f0,g0,h0,j0,k0)=>{
> function (a) replace by (a,b1,c1,d1,e1,f1,g1,h1,j1,k1)=>{
> function (a,b) replace by (a,b,c2,d2,e2,f2,g2,h2,j2,k2)=>{
> --- Not sure if it is cheating</span >
I wouldn't call this cheating. It's important that we know that there are
programs that we can parse faster. This is a particular program that you've
created. So it's a helpful test. It would also be useful to create a version
of code-load where the parameter count isn't artificially inflated because
this will be more representative of real programs.
Also, is your method sound? It appears that many tests are failing.
<span class="quote">>
> MacBook-Pro-Skachkov-2:Webkit2 Developer$ Tools/Scripts/run-jsc-benchmarks
> before:/Users/Developer/Projects/Webkit2/WebKitBuild/before_patch/Release/
> jsc
> after:/Users/Developer/Projects/Webkit2/WebKitBuild/es6_functions/Release/
> jsc --octane --benchmark="jquery|closure" --outer 10
> Warning: could not identify checkout location for before
> Warning: could not identify checkout location for after
> 92/92
>
> Benchmark report for Octane on MacBook-Pro-Skachkov-2 (MacBookPro8,1).
>
> VMs tested:
> "before" at
> /Users/Developer/Projects/Webkit2/WebKitBuild/before_patch/Release/jsc
> "after" at
> /Users/Developer/Projects/Webkit2/WebKitBuild/es6_functions/Release/jsc
>
> Collected 10 samples per benchmark/VM, with 10 VM invocations per benchmark.
> Emitted a call to
> gc() between sample measurements. Used 1 benchmark iteration per VM
> invocation for warm-up. Used
> the jsc-specific preciseTime() function to get microsecond-level timing.
> Reporting benchmark
> execution times with 95% confidence intervals in milliseconds.
>
> before after
>
>
> closure 1.04113+-0.01106 ^ 0.99330+-0.01229 ^
> definitely 1.0482x faster
> jquery 12.17617+-0.15386 11.96693+-0.10068
> might be 1.0175x faster
>
> <geometric> 3.56038+-0.03687 ^ 3.44761+-0.03026 ^
> definitely 1.0327x faster
>
> MacBook-Pro-Skachkov-2:Webkit2 Developer$ Tools/Scripts/run-jsc-benchmarks
> before:/Users/Developer/Projects/Webkit2/WebKitBuild/before_patch/Release/
> jsc
> after:/Users/Developer/Projects/Webkit2/WebKitBuild/es6_functions/Release/
> jsc --octane --benchmark="jquery|closure" --outer 10
> Warning: could not identify checkout location for before
> Warning: could not identify checkout location for after
> 92/92
>
> Benchmark report for Octane on MacBook-Pro-Skachkov-2 (MacBookPro8,1).
>
> VMs tested:
> "before" at
> /Users/Developer/Projects/Webkit2/WebKitBuild/before_patch/Release/jsc
> "after" at
> /Users/Developer/Projects/Webkit2/WebKitBuild/es6_functions/Release/jsc
>
> Collected 10 samples per benchmark/VM, with 10 VM invocations per benchmark.
> Emitted a call to
> gc() between sample measurements. Used 1 benchmark iteration per VM
> invocation for warm-up. Used
> the jsc-specific preciseTime() function to get microsecond-level timing.
> Reporting benchmark
> execution times with 95% confidence intervals in milliseconds.
>
> before after
>
>
> closure 1.05545+-0.00767 ^ 0.98806+-0.01082 ^
> definitely 1.0682x faster
> jquery 12.21856+-0.13663 12.02093+-0.07467
> might be 1.0164x faster
>
> <geometric> 3.59098+-0.02558 ^ 3.44619+-0.01687 ^
> definitely 1.0420x faster
>
> MacBook-Pro-Skachkov-2:Webkit2 Developer$ Tools/Scripts/run-jsc-benchmarks
> before:/Users/Developer/Projects/Webkit2/WebKitBuild/before_patch/Release/
> jsc
> after:/Users/Developer/Projects/Webkit2/WebKitBuild/es6_functions/Release/
> jsc --octane --benchmark="jquery|closure" --outer 10
> Warning: could not identify checkout location for before
> Warning: could not identify checkout location for after
> 92/92
>
> Benchmark report for Octane on MacBook-Pro-Skachkov-2 (MacBookPro8,1).
>
> VMs tested:
> "before" at
> /Users/Developer/Projects/Webkit2/WebKitBuild/before_patch/Release/jsc
> "after" at
> /Users/Developer/Projects/Webkit2/WebKitBuild/es6_functions/Release/jsc
>
> Collected 10 samples per benchmark/VM, with 10 VM invocations per benchmark.
> Emitted a call to
> gc() between sample measurements. Used 1 benchmark iteration per VM
> invocation for warm-up. Used
> the jsc-specific preciseTime() function to get microsecond-level timing.
> Reporting benchmark
> execution times with 95% confidence intervals in milliseconds.
>
> before after
>
>
> closure 1.05095+-0.00968 ^ 0.98810+-0.01133 ^
> definitely 1.0636x faster
> jquery 12.31999+-0.13188 ^ 12.01412+-0.07400 ^
> definitely 1.0255x faster
>
> <geometric> 3.59817+-0.02872 ^ 3.44529+-0.01942 ^
> definitely 1.0444x faster
>
> MacBook-Pro-Skachkov-2:Webkit2 Developer$ Tools/Scripts/run-jsc-benchmarks
> before:/Users/Developer/Projects/Webkit2/WebKitBuild/before_patch/Release/
> jsc
> after:/Users/Developer/Projects/Webkit2/WebKitBuild/es6_functions/Release/
> jsc --octane --benchmark="jquery|closure" --outer 10
> Warning: could not identify checkout location for before
> Warning: could not identify checkout location for after
> 92/92
>
> Benchmark report for Octane on MacBook-Pro-Skachkov-2 (MacBookPro8,1).
>
> VMs tested:
> "before" at
> /Users/Developer/Projects/Webkit2/WebKitBuild/before_patch/Release/jsc
> "after" at
> /Users/Developer/Projects/Webkit2/WebKitBuild/es6_functions/Release/jsc
>
> Collected 10 samples per benchmark/VM, with 10 VM invocations per benchmark.
> Emitted a call to
> gc() between sample measurements. Used 1 benchmark iteration per VM
> invocation for warm-up. Used
> the jsc-specific preciseTime() function to get microsecond-level timing.
> Reporting benchmark
> execution times with 95% confidence intervals in milliseconds.
>
> before after
>
>
> closure 1.05823+-0.01207 ^ 0.99516+-0.01640 ^
> definitely 1.0634x faster
> jquery 12.26944+-0.11244 12.07709+-0.11698
> might be 1.0159x faster
>
> <geometric> 3.60322+-0.03151 ^ 3.46645+-0.02885 ^
> definitely 1.0395x faster
>
> MacBook-Pro-Skachkov-2:Webkit2 Developer$ Tools/Scripts/run-jsc-benchmarks
> before:/Users/Developer/Projects/Webkit2/WebKitBuild/before_patch/Release/
> jsc
> after:/Users/Developer/Projects/Webkit2/WebKitBuild/es6_functions/Release/
> jsc --octane --benchmark="jquery|closure" --outer 10
> Warning: could not identify checkout location for before
> Warning: could not identify checkout location for after
> 92/92
>
> Benchmark report for Octane on MacBook-Pro-Skachkov-2 (MacBookPro8,1).
>
> VMs tested:
> "before" at
> /Users/Developer/Projects/Webkit2/WebKitBuild/before_patch/Release/jsc
> "after" at
> /Users/Developer/Projects/Webkit2/WebKitBuild/es6_functions/Release/jsc
>
> Collected 10 samples per benchmark/VM, with 10 VM invocations per benchmark.
> Emitted a call to
> gc() between sample measurements. Used 1 benchmark iteration per VM
> invocation for warm-up. Used
> the jsc-specific preciseTime() function to get microsecond-level timing.
> Reporting benchmark
> execution times with 95% confidence intervals in milliseconds.
>
> before after
>
>
> closure 1.05397+-0.01681 ^ 0.98210+-0.00726 ^
> definitely 1.0732x faster
> jquery 12.44263+-0.21901 ^ 12.03256+-0.04026 ^
> definitely 1.0341x faster
>
> <geometric> 3.62080+-0.03777 ^ 3.43754+-0.01005 ^
> definitely 1.0533x faster</span ></pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>