|
|
Chromium Code Reviews
DescriptionAdd second batch JS benchmark and code generator
This patch adds a "Second batch JS" benchmark and a code generator for
creating synthetic Javascript content for the different variants of the
benchmark.
The benchmark flow is:
1. Load an initial page quickly. We also start a continuous animation
which gauges the responsiveness of the main thread.
2. Start loading Javascript asynchronously.
3. When the loading completes, wait 1 second and click on a button
which causes about 5% of the Javascript to execute.
The aim is to keep the page responsive during loading and minimize the
latency of the click handler. There are three variants with a small (15K),
medium (150K) and large (1.2M) amount of Javascript.
The generated Javascript consists of half top-level closures, half top-level
functions, each of which calls a varying number of inner functions to
perform arithmetic.
Note that currently the benchmark only measures the responsiveness of the
click handler, but eventually it will be able to track this over the entire
interaction flow (crbug.com/460206).
BUG=428350
R=rmcilroy@chromium.org
Committed: https://chromium.googlesource.com/chromium/src/+/b0a90f4b6c81fc65dd0c57ebc00b0ba6fe784b22
Committed: https://chromium.googlesource.com/chromium/src/+/fde4fdf9426ed695a242b90c44db8ebb2f0113a2
Patch Set 1 #Patch Set 2 : Test automation. #Patch Set 3 : Three variants. #Patch Set 4 : Beautification. #
Total comments: 21
Patch Set 5 : Review feedback. #Patch Set 6 : Add licenses. #Patch Set 7 : Rebased, cleaned up license printing. #Patch Set 8 : Rebased. #
Created: 5 years, 9 months ago
(Patch set is too large to download)
Messages
Total messages: 12 (1 generated)
skyostil@chromium.org changed reviewers: + rmcilroy@chromium.org
PTAL. Note the heavy JS didn't survive the upload so I'll need to land this manually.
A couple of questions and some nits but otherwise looks great! Thanks. https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... File tools/perf/page_sets/tough_scheduling_cases.py (right): https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases.py:398: action_runner.Wait(.3) Should we wait on the actual JS to finish here (or does action_runner.TapElement do that implicitly)? https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases.py:505: # Why: For measuring the latency of scroll-synchronized effects. optional nit - I know it's not your patch, but could you fix the indentation on some of these comments? https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... File tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html (right): https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html:49: display: none; nit - I'm not sure on 'html code style', but it would be clearer to me if you did this explicitly in the <input> tag, since it is going to be changed in onLoadComplete(). https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html:58: <input id="load" type="button" value="Start loading" onclick="kickOffLoading()"></input> (for a future CL) - could we have a variation which kicks off loading without requiring a button click? That way we could ensure that we aren't just getting smooth animation during loading due to the fact that we have been kicked into compositor priority mode. https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html:98: function onClick() { nit - onRunClick() ? https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html:102: window.requestAnimationFrame(animateSpinner); nit - move this after you define the animateSpinner to keep things grouped? https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... File tools/perf/page_sets/tough_scheduling_cases/second_batch_js_generator.py (right): https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js_generator.py:34: parser.add_argument('--inner-function-size', metavar='N', type=int, /s/inner-function-size/inner-function-line-count/ https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js_generator.py:49: def _GenerateInnerFunction(out, name, size): nit - GenerateLeafFunction? https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js_generator.py:106: _GenerateInnerFunction( Do we want these inner functions (or at least some of them) to be actual inner functions within defined within the outer function declaration? https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... File tools/perf/page_sets/tough_scheduling_cases/second_batch_js_light.min.js (right): https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js_light.min.js:1: (function(){function j(k){k-=2;return k}function i(k){k=Math.sin(k);return k}function h(k){k*=3;return k}function g(k){k-=2;return k}function f(k){k=Math.sin(k);return k}function e(k){k*=3;return k}function d(k){k=Math.sin(k);return k}function c(k){k=Math.pow(k,2);return k}function b(k){k=Math.pow(k,2);return k}function a(k){k-=2;return k}window.closure0=function(k){k=function0InnerFunction0(k);k=function0InnerFunction1(k);k=function0InnerFunction2(k);k=function0InnerFunction3(k);k=function0InnerFunction4(k);k=function0InnerFunction5(k);k=function0InnerFunction6(k);k=function0InnerFunction7(k);k=function0InnerFunction8(k);k=function0InnerFunction9(k);return k}})();(function(){function c(k){k-=2;return k}function b(k){k*=3;return k}function a(k){k*=3;return k}function j(k){k-=2;return k}function i(k){k-=2;return k}function h(k){k*=3;return k}function g(k){k+=1;return k}function f(k){k/=4;return k}function e(k){k/=4;return k}function d(k){k+=1;return k}window.closure1=function(k){k=function1InnerFunction0(k);k=function1InnerFunction1(k);k=function1InnerFunction2(k);k=function1InnerFunction3(k);k=function1InnerFunction4(k);k=function1InnerFunction5(k);k=function1InnerFunction6(k);k=function1InnerFunction7(k);k=function1InnerFunction8(k);k=function1InnerFunction9(k);return k}})();(function(){function j(k){k=Math.pow(k,2);return k}function i(k){k=Math.pow(k,2);return k}function h(k){k=Math.pow(k,2);return k}function g(k){k=Math.pow(k,2);return k}function f(k){k*=3;return k}function e(k){k=Math.sin(k);return k}function d(k){k=Math.sin(k);return k}function c(k){k=Math.pow(k,2);return k}function b(k){k-=2;return k}function a(k){k=Math.pow(k,2);return k}window.closure2=function(k){k=function2InnerFunction0(k);k=function2InnerFunction1(k);k=function2InnerFunction2(k);k=function2InnerFunction3(k);k=function2InnerFunction4(k);k=function2InnerFunction5(k);k=function2InnerFunction6(k);k=function2InnerFunction7(k);k=function2InnerFunction8(k);k=function2InnerFunction9(k);return k}})();(function(){function j(k){k/=4;return k}function i(k){k=Math.pow(k,2);return k}function h(k){k-=2;return k}function g(k){k-=2;return k}function f(k){k/=4;return k}function e(k){k/=4;return k}function d(k){k=Math.pow(k,2);return k}function c(k){k+=1;return k}function b(k){k+=1;return k}function a(k){k/=4;return k}window.closure3=function(k){k=function3InnerFunction0(k);k=function3InnerFunction1(k);k=function3InnerFunction2(k);k=function3InnerFunction3(k);k=function3InnerFunction4(k);k=function3InnerFunction5(k);k=function3InnerFunction6(k);k=function3InnerFunction7(k);k=function3InnerFunction8(k);k=function3InnerFunction9(k);return k}})();(function(){function d(k){k-=2;return k}function c(k){k/=4;return k}function b(k){k+=1;return k}function a(k){k=Math.pow(k,2);return k}function j(k){k/=4;return k}function i(k){k*=3;return k}function h(k){k*=3;return k}function g(k){k+=1;return k}function f(k){k*=3;return k}function e(k){k+=1;return k}window.closure4=function(k){k=function4InnerFunction0(k);k=function4InnerFunction1(k);k=function4InnerFunction2(k);k=function4InnerFunction3(k);k=function4InnerFunction4(k);k=function4InnerFunction5(k);k=function4InnerFunction6(k);k=function4InnerFunction7(k);k=function4InnerFunction8(k);k=function4InnerFunction9(k);return k}})();(function(){function j(k){k+=1;return k}function i(k){k+=1;return k}function h(k){k=Math.pow(k,2);return k}function g(k){k=Math.sin(k);return k}function f(k){k/=4;return k}function e(k){k=Math.pow(k,2);return k}function d(k){k=Math.sin(k);return k}function c(k){k+=1;return k}function b(k){k/=4;return k}function a(k){k=Math.pow(k,2);return k}window.closure5=function(k){k=function5InnerFunction0(k);k=function5InnerFunction1(k);k=function5InnerFunction2(k);k=function5InnerFunction3(k);k=function5InnerFunction4(k);k=function5InnerFunction5(k);k=function5InnerFunction6(k);k=function5InnerFunction7(k);k=function5InnerFunction8(k);k=function5InnerFunction9(k);return k}})();(function(){function a(k){k=Math.sin(k);return k}function j(k){k*=3;return k}function i(k){k-=2;return k}function h(k){k-=2;return k}function g(k){k-=2;return k}function f(k){k=Math.sin(k);return k}function e(k){k+=1;return k}function d(k){k/=4;return k}function c(k){k=Math.sin(k);return k}function b(k){k+=1;return k}window.closure6=function(k){k=function6InnerFunction0(k);k=function6InnerFunction1(k);k=function6InnerFunction2(k);k=function6InnerFunction3(k);k=function6InnerFunction4(k);k=function6InnerFunction5(k);k=function6InnerFunction6(k);k=function6InnerFunction7(k);k=function6InnerFunction8(k);k=function6InnerFunction9(k);return k}})();(function(){function e(k){k-=2;return k}function d(k){k=Math.sin(k);return k}function c(k){k+=1;return k}function b(k){k-=2;return k}function a(k){k/=4;return k}function j(k){k=Math.pow(k,2);return k}function i(k){k-=2;return k}function h(k){k/=4;return k}function g(k){k/=4;return k}function f(k){k*=3;return k}window.closure7=function(k){k=function7InnerFunction0(k);k=function7InnerFunction1(k);k=function7InnerFunction2(k);k=function7InnerFunction3(k);k=function7InnerFunction4(k);k=function7InnerFunction5(k);k=function7InnerFunction6(k);k=function7InnerFunction7(k);k=function7InnerFunction8(k);k=function7InnerFunction9(k);return k}})();(function(){function j(k){k*=3;return k}function i(k){k*=3;return k}function h(k){k=Math.pow(k,2);return k}function g(k){k+=1;return k}function f(k){k=Math.pow(k,2);return k}function e(k){k+=1;return k}function d(k){k*=3;return k}function c(k){k+=1;return k}function b(k){k*=3;return k}function a(k){k+=1;return k}window.closure8=function(k){k=function8InnerFunction0(k);k=function8InnerFunction1(k);k=function8InnerFunction2(k);k=function8InnerFunction3(k);k=function8InnerFunction4(k);k=function8InnerFunction5(k);k=function8InnerFunction6(k);k=function8InnerFunction7(k);k=function8InnerFunction8(k);k=function8InnerFunction9(k);return k}})();(function(){function b(k){k+=1;return k}function a(k){k*=3;return k}function j(k){k+=1;return k}function i(k){k=Math.pow(k,2);return k}function h(k){k=Math.pow(k,2);return k}function g(k){k=Math.sin(k);return k}function f(k){k-=2;return k}function e(k){k*=3;return k}function d(k){k-=2;return k}function c(k){k/=4;return k}window.closure9=function(k){k=function9InnerFunction0(k);k=function9InnerFunction1(k);k=function9InnerFunction2(k);k=function9InnerFunction3(k);k=function9InnerFunction4(k);k=function9InnerFunction5(k);k=function9InnerFunction6(k);k=function9InnerFunction7(k);k=function9InnerFunction8(k);k=function9InnerFunction9(k);return k}})();function function0InnerFunction0(a){a=Math.pow(a,2);return a}function function0InnerFunction1(a){a*=3;return a}function function0InnerFunction2(a){a-=2;return a}function function0InnerFunction3(a){a*=3;return a}function function0InnerFunction4(a){a/=4;return a}function function0InnerFunction5(a){a+=1;return a}function function0InnerFunction6(a){a=Math.sin(a);return a}function function0InnerFunction7(a){a=Math.pow(a,2);return a}function function0InnerFunction8(a){a+=1;return a}function function0InnerFunction9(a){a*=3;return a}function function0(a){a=function0InnerFunction0(a);a=function0InnerFunction1(a);a=function0InnerFunction2(a);a=function0InnerFunction3(a);a=function0InnerFunction4(a);a=function0InnerFunction5(a);a=function0InnerFunction6(a);a=function0InnerFunction7(a);a=function0InnerFunction8(a);a=function0InnerFunction9(a);return a}function function1InnerFunction0(a){a*=3;return a}function function1InnerFunction1(a){a+=1;return a}function function1InnerFunction2(a){a/=4;return a}function function1InnerFunction3(a){a=Math.sin(a);return a}function function1InnerFunction4(a){a/=4;return a}function function1InnerFunction5(a){a=Math.sin(a);return a}function function1InnerFunction6(a){a/=4;return a}function function1InnerFunction7(a){a=Math.pow(a,2);return a}function function1InnerFunction8(a){a+=1;return a}function function1InnerFunction9(a){a*=3;return a}function function1(a){a=function1InnerFunction0(a);a=function1InnerFunction1(a);a=function1InnerFunction2(a);a=function1InnerFunction3(a);a=function1InnerFunction4(a);a=function1InnerFunction5(a);a=function1InnerFunction6(a);a=function1InnerFunction7(a);a=function1InnerFunction8(a);a=function1InnerFunction9(a);return a}function function2InnerFunction0(a){a-=2;return a}function function2InnerFunction1(a){a=Math.pow(a,2);return a}function function2InnerFunction2(a){a=Math.sin(a);return a}function function2InnerFunction3(a){a=Math.pow(a,2);return a}function function2InnerFunction4(a){a=Math.pow(a,2);return a}function function2InnerFunction5(a){a*=3;return a}function function2InnerFunction6(a){a/=4;return a}function function2InnerFunction7(a){a+=1;return a}function function2InnerFunction8(a){a+=1;return a}function function2InnerFunction9(a){a=Math.pow(a,2);return a}function function2(a){a=function2InnerFunction0(a);a=function2InnerFunction1(a);a=function2InnerFunction2(a);a=function2InnerFunction3(a);a=function2InnerFunction4(a);a=function2InnerFunction5(a);a=function2InnerFunction6(a);a=function2InnerFunction7(a);a=function2InnerFunction8(a);a=function2InnerFunction9(a);return a}function function3InnerFunction0(a){a*=3;return a}function function3InnerFunction1(a){a+=1;return a}function function3InnerFunction2(a){a*=3;return a}function function3InnerFunction3(a){a=Math.pow(a,2);return a}function function3InnerFunction4(a){a/=4;return a}function function3InnerFunction5(a){a=Math.pow(a,2);return a}function function3InnerFunction6(a){a=Math.sin(a);return a}function function3InnerFunction7(a){a+=1;return a}function function3InnerFunction8(a){a+=1;return a}function function3InnerFunction9(a){a=Math.pow(a,2);return a}function function3(a){a=function3InnerFunction0(a);a=function3InnerFunction1(a);a=function3InnerFunction2(a);a=function3InnerFunction3(a);a=function3InnerFunction4(a);a=function3InnerFunction5(a);a=function3InnerFunction6(a);a=function3InnerFunction7(a);a=function3InnerFunction8(a);a=function3InnerFunction9(a);return a}function function4InnerFunction0(a){a=Math.pow(a,2);return a}function function4InnerFunction1(a){a=Math.pow(a,2);return a}function function4InnerFunction2(a){a-=2;return a}function function4InnerFunction3(a){a+=1;return a}function function4InnerFunction4(a){a*=3;return a}function function4InnerFunction5(a){a/=4;return a}function function4InnerFunction6(a){a/=4;return a}function function4InnerFunction7(a){a=Math.pow(a,2);return a}function function4InnerFunction8(a){a*=3;return a}function function4InnerFunction9(a){a*=3;return a}function function4(a){a=function4InnerFunction0(a);a=function4InnerFunction1(a);a=function4InnerFunction2(a);a=function4InnerFunction3(a);a=function4InnerFunction4(a);a=function4InnerFunction5(a);a=function4InnerFunction6(a);a=function4InnerFunction7(a);a=function4InnerFunction8(a);a=function4InnerFunction9(a);return a}function function5InnerFunction0(a){a-=2;return a}function function5InnerFunction1(a){a=Math.pow(a,2);return a}function function5InnerFunction2(a){a/=4;return a}function function5InnerFunction3(a){a+=1;return a}function function5InnerFunction4(a){a=Math.pow(a,2);return a}function function5InnerFunction5(a){a=Math.pow(a,2);return a}function function5InnerFunction6(a){a=Math.pow(a,2);return a}function function5InnerFunction7(a){a=Math.sin(a);return a}function function5InnerFunction8(a){a+=1;return a}function function5InnerFunction9(a){a-=2;return a}function function5(a){a=function5InnerFunction0(a);a=function5InnerFunction1(a);a=function5InnerFunction2(a);a=function5InnerFunction3(a);a=function5InnerFunction4(a);a=function5InnerFunction5(a);a=function5InnerFunction6(a);a=function5InnerFunction7(a);a=function5InnerFunction8(a);a=function5InnerFunction9(a);return a}function function6InnerFunction0(a){a-=2;return a}function function6InnerFunction1(a){a-=2;return a}function function6InnerFunction2(a){a=Math.pow(a,2);return a}function function6InnerFunction3(a){a*=3;return a}function function6InnerFunction4(a){a+=1;return a}function function6InnerFunction5(a){a=Math.sin(a);return a}function function6InnerFunction6(a){a*=3;return a}function function6InnerFunction7(a){a-=2;return a}function function6InnerFunction8(a){a=Math.pow(a,2);return a}function function6InnerFunction9(a){a*=3;return a}function function6(a){a=function6InnerFunction0(a);a=function6InnerFunction1(a);a=function6InnerFunction2(a);a=function6InnerFunction3(a);a=function6InnerFunction4(a);a=function6InnerFunction5(a);a=function6InnerFunction6(a);a=function6InnerFunction7(a);a=function6InnerFunction8(a);a=function6InnerFunction9(a);return a}function function7InnerFunction0(a){a=Math.sin(a);return a}function function7InnerFunction1(a){a-=2;return a}function function7InnerFunction2(a){a*=3;return a}function function7InnerFunction3(a){a+=1;return a}function function7InnerFunction4(a){a+=1;return a}function function7InnerFunction5(a){a+=1;return a}function function7InnerFunction6(a){a+=1;return a}function function7InnerFunction7(a){a=Math.sin(a);return a}function function7InnerFunction8(a){a-=2;return a}function function7InnerFunction9(a){a/=4;return a}function function7(a){a=function7InnerFunction0(a);a=function7InnerFunction1(a);a=function7InnerFunction2(a);a=function7InnerFunction3(a);a=function7InnerFunction4(a);a=function7InnerFunction5(a);a=function7InnerFunction6(a);a=function7InnerFunction7(a);a=function7InnerFunction8(a);a=function7InnerFunction9(a);return a}function function8InnerFunction0(a){a=Math.sin(a);return a}function function8InnerFunction1(a){a=Math.sin(a);return a}function function8InnerFunction2(a){a=Math.sin(a);return a}function function8InnerFunction3(a){a-=2;return a}function function8InnerFunction4(a){a=Math.sin(a);return a}function function8InnerFunction5(a){a*=3;return a}function function8InnerFunction6(a){a+=1;return a}function function8InnerFunction7(a){a/=4;return a}function function8InnerFunction8(a){a=Math.sin(a);return a}function function8InnerFunction9(a){a*=3;return a}function function8(a){a=function8InnerFunction0(a);a=function8InnerFunction1(a);a=function8InnerFunction2(a);a=function8InnerFunction3(a);a=function8InnerFunction4(a);a=function8InnerFunction5(a);a=function8InnerFunction6(a);a=function8InnerFunction7(a);a=function8InnerFunction8(a);a=function8InnerFunction9(a);return a}function function9InnerFunction0(a){a*=3;return a}function function9InnerFunction1(a){a-=2;return a}function function9InnerFunction2(a){a-=2;return a}function function9InnerFunction3(a){a+=1;return a}function function9InnerFunction4(a){a-=2;return a}function function9InnerFunction5(a){a+=1;return a}function function9InnerFunction6(a){a=Math.sin(a);return a}function function9InnerFunction7(a){a=Math.pow(a,2);return a}function function9InnerFunction8(a){a/=4;return a}function function9InnerFunction9(a){a-=2;return a}function function9(a){a=function9InnerFunction0(a);a=function9InnerFunction1(a);a=function9InnerFunction2(a);a=function9InnerFunction3(a);a=function9InnerFunction4(a);a=function9InnerFunction5(a);a=function9InnerFunction6(a);a=function9InnerFunction7(a);a=function9InnerFunction8(a);a=function9InnerFunction9(a);return a}function main(a){a=closure0(a);a=function0(a);a=closure0(a);a=function0(a);a=closure0(a);a=function0(a);a=closure0(a);a=function0(a);a=closure0(a);a=function0(a);return a}; nit - could you add a comment to the JS which explains how it was generated.
Thanks, everything addressed. https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... File tools/perf/page_sets/tough_scheduling_cases.py (right): https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases.py:398: action_runner.Wait(.3) On 2015/03/17 13:59:36, rmcilroy wrote: > Should we wait on the actual JS to finish here (or does action_runner.TapElement > do that implicitly)? Right, good point. I'll make the test signal when it's done. https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases.py:505: # Why: For measuring the latency of scroll-synchronized effects. On 2015/03/17 13:59:36, rmcilroy wrote: > optional nit - I know it's not your patch, but could you fix the indentation on > some of these comments? Yeah, those look pretty dire. Fixed. https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... File tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html (right): https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html:49: display: none; Yeah, that's cleaner. Done. https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html:58: <input id="load" type="button" value="Start loading" onclick="kickOffLoading()"></input> On 2015/03/17 13:59:36, rmcilroy wrote: > (for a future CL) - could we have a variation which kicks off loading without > requiring a button click? That way we could ensure that we aren't just getting > smooth animation during loading due to the fact that we have been kicked into > compositor priority mode. Good point. Actually there's a subtlety here in that .ClickElement doesn't activate compositor priority but .TapElement does, because the former doesn't actually synthesize user input. I think I'll change the test to call kickOffLoading() explicitly to make it safer against someone changing .ClickElement. I'll still keep the buttons so that you can run the test interactively (with the relevant caveat about compositor priority). https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html:98: function onClick() { On 2015/03/17 13:59:36, rmcilroy wrote: > nit - onRunClick() ? Done. https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js.html:102: window.requestAnimationFrame(animateSpinner); On 2015/03/17 13:59:36, rmcilroy wrote: > nit - move this after you define the animateSpinner to keep things grouped? Done. https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... File tools/perf/page_sets/tough_scheduling_cases/second_batch_js_generator.py (right): https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js_generator.py:34: parser.add_argument('--inner-function-size', metavar='N', type=int, On 2015/03/17 13:59:36, rmcilroy wrote: > /s/inner-function-size/inner-function-line-count/ Done. https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js_generator.py:49: def _GenerateInnerFunction(out, name, size): On 2015/03/17 13:59:36, rmcilroy wrote: > nit - GenerateLeafFunction? Done. https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js_generator.py:106: _GenerateInnerFunction( On 2015/03/17 13:59:36, rmcilroy wrote: > Do we want these inner functions (or at least some of them) to be actual inner > functions within defined within the outer function declaration? Good point. I'll just do half & half of each for completeness. I'll keep it hard-coded for now. https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... File tools/perf/page_sets/tough_scheduling_cases/second_batch_js_light.min.js (right): https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js_light.min.js:1: (function(){function j(k){k-=2;return k}function i(k){k=Math.sin(k);return k}function h(k){k*=3;return k}function g(k){k-=2;return k}function f(k){k=Math.sin(k);return k}function e(k){k*=3;return k}function d(k){k=Math.sin(k);return k}function c(k){k=Math.pow(k,2);return k}function b(k){k=Math.pow(k,2);return k}function a(k){k-=2;return k}window.closure0=function(k){k=function0InnerFunction0(k);k=function0InnerFunction1(k);k=function0InnerFunction2(k);k=function0InnerFunction3(k);k=function0InnerFunction4(k);k=function0InnerFunction5(k);k=function0InnerFunction6(k);k=function0InnerFunction7(k);k=function0InnerFunction8(k);k=function0InnerFunction9(k);return k}})();(function(){function c(k){k-=2;return k}function b(k){k*=3;return k}function a(k){k*=3;return k}function j(k){k-=2;return k}function i(k){k-=2;return k}function h(k){k*=3;return k}function g(k){k+=1;return k}function f(k){k/=4;return k}function e(k){k/=4;return k}function d(k){k+=1;return k}window.closure1=function(k){k=function1InnerFunction0(k);k=function1InnerFunction1(k);k=function1InnerFunction2(k);k=function1InnerFunction3(k);k=function1InnerFunction4(k);k=function1InnerFunction5(k);k=function1InnerFunction6(k);k=function1InnerFunction7(k);k=function1InnerFunction8(k);k=function1InnerFunction9(k);return k}})();(function(){function j(k){k=Math.pow(k,2);return k}function i(k){k=Math.pow(k,2);return k}function h(k){k=Math.pow(k,2);return k}function g(k){k=Math.pow(k,2);return k}function f(k){k*=3;return k}function e(k){k=Math.sin(k);return k}function d(k){k=Math.sin(k);return k}function c(k){k=Math.pow(k,2);return k}function b(k){k-=2;return k}function a(k){k=Math.pow(k,2);return k}window.closure2=function(k){k=function2InnerFunction0(k);k=function2InnerFunction1(k);k=function2InnerFunction2(k);k=function2InnerFunction3(k);k=function2InnerFunction4(k);k=function2InnerFunction5(k);k=function2InnerFunction6(k);k=function2InnerFunction7(k);k=function2InnerFunction8(k);k=function2InnerFunction9(k);return k}})();(function(){function j(k){k/=4;return k}function i(k){k=Math.pow(k,2);return k}function h(k){k-=2;return k}function g(k){k-=2;return k}function f(k){k/=4;return k}function e(k){k/=4;return k}function d(k){k=Math.pow(k,2);return k}function c(k){k+=1;return k}function b(k){k+=1;return k}function a(k){k/=4;return k}window.closure3=function(k){k=function3InnerFunction0(k);k=function3InnerFunction1(k);k=function3InnerFunction2(k);k=function3InnerFunction3(k);k=function3InnerFunction4(k);k=function3InnerFunction5(k);k=function3InnerFunction6(k);k=function3InnerFunction7(k);k=function3InnerFunction8(k);k=function3InnerFunction9(k);return k}})();(function(){function d(k){k-=2;return k}function c(k){k/=4;return k}function b(k){k+=1;return k}function a(k){k=Math.pow(k,2);return k}function j(k){k/=4;return k}function i(k){k*=3;return k}function h(k){k*=3;return k}function g(k){k+=1;return k}function f(k){k*=3;return k}function e(k){k+=1;return k}window.closure4=function(k){k=function4InnerFunction0(k);k=function4InnerFunction1(k);k=function4InnerFunction2(k);k=function4InnerFunction3(k);k=function4InnerFunction4(k);k=function4InnerFunction5(k);k=function4InnerFunction6(k);k=function4InnerFunction7(k);k=function4InnerFunction8(k);k=function4InnerFunction9(k);return k}})();(function(){function j(k){k+=1;return k}function i(k){k+=1;return k}function h(k){k=Math.pow(k,2);return k}function g(k){k=Math.sin(k);return k}function f(k){k/=4;return k}function e(k){k=Math.pow(k,2);return k}function d(k){k=Math.sin(k);return k}function c(k){k+=1;return k}function b(k){k/=4;return k}function a(k){k=Math.pow(k,2);return k}window.closure5=function(k){k=function5InnerFunction0(k);k=function5InnerFunction1(k);k=function5InnerFunction2(k);k=function5InnerFunction3(k);k=function5InnerFunction4(k);k=function5InnerFunction5(k);k=function5InnerFunction6(k);k=function5InnerFunction7(k);k=function5InnerFunction8(k);k=function5InnerFunction9(k);return k}})();(function(){function a(k){k=Math.sin(k);return k}function j(k){k*=3;return k}function i(k){k-=2;return k}function h(k){k-=2;return k}function g(k){k-=2;return k}function f(k){k=Math.sin(k);return k}function e(k){k+=1;return k}function d(k){k/=4;return k}function c(k){k=Math.sin(k);return k}function b(k){k+=1;return k}window.closure6=function(k){k=function6InnerFunction0(k);k=function6InnerFunction1(k);k=function6InnerFunction2(k);k=function6InnerFunction3(k);k=function6InnerFunction4(k);k=function6InnerFunction5(k);k=function6InnerFunction6(k);k=function6InnerFunction7(k);k=function6InnerFunction8(k);k=function6InnerFunction9(k);return k}})();(function(){function e(k){k-=2;return k}function d(k){k=Math.sin(k);return k}function c(k){k+=1;return k}function b(k){k-=2;return k}function a(k){k/=4;return k}function j(k){k=Math.pow(k,2);return k}function i(k){k-=2;return k}function h(k){k/=4;return k}function g(k){k/=4;return k}function f(k){k*=3;return k}window.closure7=function(k){k=function7InnerFunction0(k);k=function7InnerFunction1(k);k=function7InnerFunction2(k);k=function7InnerFunction3(k);k=function7InnerFunction4(k);k=function7InnerFunction5(k);k=function7InnerFunction6(k);k=function7InnerFunction7(k);k=function7InnerFunction8(k);k=function7InnerFunction9(k);return k}})();(function(){function j(k){k*=3;return k}function i(k){k*=3;return k}function h(k){k=Math.pow(k,2);return k}function g(k){k+=1;return k}function f(k){k=Math.pow(k,2);return k}function e(k){k+=1;return k}function d(k){k*=3;return k}function c(k){k+=1;return k}function b(k){k*=3;return k}function a(k){k+=1;return k}window.closure8=function(k){k=function8InnerFunction0(k);k=function8InnerFunction1(k);k=function8InnerFunction2(k);k=function8InnerFunction3(k);k=function8InnerFunction4(k);k=function8InnerFunction5(k);k=function8InnerFunction6(k);k=function8InnerFunction7(k);k=function8InnerFunction8(k);k=function8InnerFunction9(k);return k}})();(function(){function b(k){k+=1;return k}function a(k){k*=3;return k}function j(k){k+=1;return k}function i(k){k=Math.pow(k,2);return k}function h(k){k=Math.pow(k,2);return k}function g(k){k=Math.sin(k);return k}function f(k){k-=2;return k}function e(k){k*=3;return k}function d(k){k-=2;return k}function c(k){k/=4;return k}window.closure9=function(k){k=function9InnerFunction0(k);k=function9InnerFunction1(k);k=function9InnerFunction2(k);k=function9InnerFunction3(k);k=function9InnerFunction4(k);k=function9InnerFunction5(k);k=function9InnerFunction6(k);k=function9InnerFunction7(k);k=function9InnerFunction8(k);k=function9InnerFunction9(k);return k}})();function function0InnerFunction0(a){a=Math.pow(a,2);return a}function function0InnerFunction1(a){a*=3;return a}function function0InnerFunction2(a){a-=2;return a}function function0InnerFunction3(a){a*=3;return a}function function0InnerFunction4(a){a/=4;return a}function function0InnerFunction5(a){a+=1;return a}function function0InnerFunction6(a){a=Math.sin(a);return a}function function0InnerFunction7(a){a=Math.pow(a,2);return a}function function0InnerFunction8(a){a+=1;return a}function function0InnerFunction9(a){a*=3;return a}function function0(a){a=function0InnerFunction0(a);a=function0InnerFunction1(a);a=function0InnerFunction2(a);a=function0InnerFunction3(a);a=function0InnerFunction4(a);a=function0InnerFunction5(a);a=function0InnerFunction6(a);a=function0InnerFunction7(a);a=function0InnerFunction8(a);a=function0InnerFunction9(a);return a}function function1InnerFunction0(a){a*=3;return a}function function1InnerFunction1(a){a+=1;return a}function function1InnerFunction2(a){a/=4;return a}function function1InnerFunction3(a){a=Math.sin(a);return a}function function1InnerFunction4(a){a/=4;return a}function function1InnerFunction5(a){a=Math.sin(a);return a}function function1InnerFunction6(a){a/=4;return a}function function1InnerFunction7(a){a=Math.pow(a,2);return a}function function1InnerFunction8(a){a+=1;return a}function function1InnerFunction9(a){a*=3;return a}function function1(a){a=function1InnerFunction0(a);a=function1InnerFunction1(a);a=function1InnerFunction2(a);a=function1InnerFunction3(a);a=function1InnerFunction4(a);a=function1InnerFunction5(a);a=function1InnerFunction6(a);a=function1InnerFunction7(a);a=function1InnerFunction8(a);a=function1InnerFunction9(a);return a}function function2InnerFunction0(a){a-=2;return a}function function2InnerFunction1(a){a=Math.pow(a,2);return a}function function2InnerFunction2(a){a=Math.sin(a);return a}function function2InnerFunction3(a){a=Math.pow(a,2);return a}function function2InnerFunction4(a){a=Math.pow(a,2);return a}function function2InnerFunction5(a){a*=3;return a}function function2InnerFunction6(a){a/=4;return a}function function2InnerFunction7(a){a+=1;return a}function function2InnerFunction8(a){a+=1;return a}function function2InnerFunction9(a){a=Math.pow(a,2);return a}function function2(a){a=function2InnerFunction0(a);a=function2InnerFunction1(a);a=function2InnerFunction2(a);a=function2InnerFunction3(a);a=function2InnerFunction4(a);a=function2InnerFunction5(a);a=function2InnerFunction6(a);a=function2InnerFunction7(a);a=function2InnerFunction8(a);a=function2InnerFunction9(a);return a}function function3InnerFunction0(a){a*=3;return a}function function3InnerFunction1(a){a+=1;return a}function function3InnerFunction2(a){a*=3;return a}function function3InnerFunction3(a){a=Math.pow(a,2);return a}function function3InnerFunction4(a){a/=4;return a}function function3InnerFunction5(a){a=Math.pow(a,2);return a}function function3InnerFunction6(a){a=Math.sin(a);return a}function function3InnerFunction7(a){a+=1;return a}function function3InnerFunction8(a){a+=1;return a}function function3InnerFunction9(a){a=Math.pow(a,2);return a}function function3(a){a=function3InnerFunction0(a);a=function3InnerFunction1(a);a=function3InnerFunction2(a);a=function3InnerFunction3(a);a=function3InnerFunction4(a);a=function3InnerFunction5(a);a=function3InnerFunction6(a);a=function3InnerFunction7(a);a=function3InnerFunction8(a);a=function3InnerFunction9(a);return a}function function4InnerFunction0(a){a=Math.pow(a,2);return a}function function4InnerFunction1(a){a=Math.pow(a,2);return a}function function4InnerFunction2(a){a-=2;return a}function function4InnerFunction3(a){a+=1;return a}function function4InnerFunction4(a){a*=3;return a}function function4InnerFunction5(a){a/=4;return a}function function4InnerFunction6(a){a/=4;return a}function function4InnerFunction7(a){a=Math.pow(a,2);return a}function function4InnerFunction8(a){a*=3;return a}function function4InnerFunction9(a){a*=3;return a}function function4(a){a=function4InnerFunction0(a);a=function4InnerFunction1(a);a=function4InnerFunction2(a);a=function4InnerFunction3(a);a=function4InnerFunction4(a);a=function4InnerFunction5(a);a=function4InnerFunction6(a);a=function4InnerFunction7(a);a=function4InnerFunction8(a);a=function4InnerFunction9(a);return a}function function5InnerFunction0(a){a-=2;return a}function function5InnerFunction1(a){a=Math.pow(a,2);return a}function function5InnerFunction2(a){a/=4;return a}function function5InnerFunction3(a){a+=1;return a}function function5InnerFunction4(a){a=Math.pow(a,2);return a}function function5InnerFunction5(a){a=Math.pow(a,2);return a}function function5InnerFunction6(a){a=Math.pow(a,2);return a}function function5InnerFunction7(a){a=Math.sin(a);return a}function function5InnerFunction8(a){a+=1;return a}function function5InnerFunction9(a){a-=2;return a}function function5(a){a=function5InnerFunction0(a);a=function5InnerFunction1(a);a=function5InnerFunction2(a);a=function5InnerFunction3(a);a=function5InnerFunction4(a);a=function5InnerFunction5(a);a=function5InnerFunction6(a);a=function5InnerFunction7(a);a=function5InnerFunction8(a);a=function5InnerFunction9(a);return a}function function6InnerFunction0(a){a-=2;return a}function function6InnerFunction1(a){a-=2;return a}function function6InnerFunction2(a){a=Math.pow(a,2);return a}function function6InnerFunction3(a){a*=3;return a}function function6InnerFunction4(a){a+=1;return a}function function6InnerFunction5(a){a=Math.sin(a);return a}function function6InnerFunction6(a){a*=3;return a}function function6InnerFunction7(a){a-=2;return a}function function6InnerFunction8(a){a=Math.pow(a,2);return a}function function6InnerFunction9(a){a*=3;return a}function function6(a){a=function6InnerFunction0(a);a=function6InnerFunction1(a);a=function6InnerFunction2(a);a=function6InnerFunction3(a);a=function6InnerFunction4(a);a=function6InnerFunction5(a);a=function6InnerFunction6(a);a=function6InnerFunction7(a);a=function6InnerFunction8(a);a=function6InnerFunction9(a);return a}function function7InnerFunction0(a){a=Math.sin(a);return a}function function7InnerFunction1(a){a-=2;return a}function function7InnerFunction2(a){a*=3;return a}function function7InnerFunction3(a){a+=1;return a}function function7InnerFunction4(a){a+=1;return a}function function7InnerFunction5(a){a+=1;return a}function function7InnerFunction6(a){a+=1;return a}function function7InnerFunction7(a){a=Math.sin(a);return a}function function7InnerFunction8(a){a-=2;return a}function function7InnerFunction9(a){a/=4;return a}function function7(a){a=function7InnerFunction0(a);a=function7InnerFunction1(a);a=function7InnerFunction2(a);a=function7InnerFunction3(a);a=function7InnerFunction4(a);a=function7InnerFunction5(a);a=function7InnerFunction6(a);a=function7InnerFunction7(a);a=function7InnerFunction8(a);a=function7InnerFunction9(a);return a}function function8InnerFunction0(a){a=Math.sin(a);return a}function function8InnerFunction1(a){a=Math.sin(a);return a}function function8InnerFunction2(a){a=Math.sin(a);return a}function function8InnerFunction3(a){a-=2;return a}function function8InnerFunction4(a){a=Math.sin(a);return a}function function8InnerFunction5(a){a*=3;return a}function function8InnerFunction6(a){a+=1;return a}function function8InnerFunction7(a){a/=4;return a}function function8InnerFunction8(a){a=Math.sin(a);return a}function function8InnerFunction9(a){a*=3;return a}function function8(a){a=function8InnerFunction0(a);a=function8InnerFunction1(a);a=function8InnerFunction2(a);a=function8InnerFunction3(a);a=function8InnerFunction4(a);a=function8InnerFunction5(a);a=function8InnerFunction6(a);a=function8InnerFunction7(a);a=function8InnerFunction8(a);a=function8InnerFunction9(a);return a}function function9InnerFunction0(a){a*=3;return a}function function9InnerFunction1(a){a-=2;return a}function function9InnerFunction2(a){a-=2;return a}function function9InnerFunction3(a){a+=1;return a}function function9InnerFunction4(a){a-=2;return a}function function9InnerFunction5(a){a+=1;return a}function function9InnerFunction6(a){a=Math.sin(a);return a}function function9InnerFunction7(a){a=Math.pow(a,2);return a}function function9InnerFunction8(a){a/=4;return a}function function9InnerFunction9(a){a-=2;return a}function function9(a){a=function9InnerFunction0(a);a=function9InnerFunction1(a);a=function9InnerFunction2(a);a=function9InnerFunction3(a);a=function9InnerFunction4(a);a=function9InnerFunction5(a);a=function9InnerFunction6(a);a=function9InnerFunction7(a);a=function9InnerFunction8(a);a=function9InnerFunction9(a);return a}function main(a){a=closure0(a);a=function0(a);a=closure0(a);a=function0(a);a=closure0(a);a=function0(a);a=closure0(a);a=function0(a);a=closure0(a);a=function0(a);return a}; On 2015/03/17 13:59:36, rmcilroy wrote: > nit - could you add a comment to the JS which explains how it was generated. I added one but the minifier eated it :( I've now made it replace the comment after minifying.
looks great, thanks. lgtm. https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... File tools/perf/page_sets/tough_scheduling_cases/second_batch_js_generator.py (right): https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... tools/perf/page_sets/tough_scheduling_cases/second_batch_js_generator.py:106: _GenerateInnerFunction( On 2015/03/18 14:05:31, Sami wrote: > On 2015/03/17 13:59:36, rmcilroy wrote: > > Do we want these inner functions (or at least some of them) to be actual inner > > functions within defined within the outer function declaration? > > Good point. I'll just do half & half of each for completeness. I'll keep it > hard-coded for now. sounds good
On 2015/03/19 12:07:39, rmcilroy wrote: > looks great, thanks. lgtm. > > https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... > File tools/perf/page_sets/tough_scheduling_cases/second_batch_js_generator.py > (right): > > https://codereview.chromium.org/1000203002/diff/50001/tools/perf/page_sets/to... > tools/perf/page_sets/tough_scheduling_cases/second_batch_js_generator.py:106: > _GenerateInnerFunction( > On 2015/03/18 14:05:31, Sami wrote: > > On 2015/03/17 13:59:36, rmcilroy wrote: > > > Do we want these inner functions (or at least some of them) to be actual > inner > > > functions within defined within the outer function declaration? > > > > Good point. I'll just do half & half of each for completeness. I'll keep it > > hard-coded for now. > > sounds good Thanks Ross. I'll land this manually to make sure all the files get there.
Message was sent while issue was closed.
Patchset 5 (id:??) landed as https://crrev.com/b0a90f4b6c81fc65dd0c57ebc00b0ba6fe784b22 Cr-Commit-Position: refs/heads/master@{#321340}
Message was sent while issue was closed.
Committed patchset #5 (id:60001) manually as b0a90f4b6c81fc65dd0c57ebc00b0ba6fe784b22.
Message was sent while issue was closed.
A revert of this CL (patchset #5 id:60001) has been created in https://codereview.chromium.org/1019833002/ by kjellander@chromium.org. The reason for reverting is: Breaks check_licenses on linux: https://build.chromium.org/p/chromium/builders/Linux/builds/59754/steps/check... Notice: This was also caught by the trybot. Please don't commit manually - use the CQ instead..
Message was sent while issue was closed.
On 2015/03/19 12:53:23, kjellander wrote: > A revert of this CL (patchset #5 id:60001) has been created in > https://codereview.chromium.org/1019833002/ by mailto:kjellander@chromium.org. > > The reason for reverting is: Breaks check_licenses on linux: > https://build.chromium.org/p/chromium/builders/Linux/builds/59754/steps/check... > > Notice: This was also caught by the trybot. Please don't commit manually - use > the CQ instead.. Thanks for the revert. Unfortunately I don't think I can use the CQ here since the full patch is too big to upload.
Message was sent while issue was closed.
Patchset 8 (id:??) landed as https://crrev.com/fde4fdf9426ed695a242b90c44db8ebb2f0113a2 Cr-Commit-Position: refs/heads/master@{#321363}
Message was sent while issue was closed.
Committed patchset #8 (id:90001) manually as fde4fdf9426ed695a242b90c44db8ebb2f0113a2 (presubmit successful). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
