react/scripts/bench/benchmarks/pe-functional-components/benchmark.js

4204 lines
129 KiB
JavaScript
Raw Normal View History

Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
(function () {
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
'use strict';
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
var ReactImage0 = function (props) {
if (props.x === 0) {
return React.createElement("i", { alt: "", className: "_3-99 img sp_i534r85sjIn sx_538591", src: null });
}
if (props.x === 15) {
return React.createElement("i", { className: "_3ut_ img sp_i534r85sjIn sx_e8ac93", src: null, alt: "" });
}
if (props.x === 22) {
return React.createElement("i", { alt: "", className: "_3-8_ img sp_i534r85sjIn sx_7b15bc", src: null });
}
if (props.x === 29) {
return React.createElement("i", { className: "_1m1s _4540 _p img sp_i534r85sjIn sx_f40b1c", src: null, alt: "" });
}
if (props.x === 42) {
return React.createElement(
"i",
{ alt: "Warning", className: "_585p img sp_i534r85sjIn sx_20273d", src: null },
React.createElement(
"u",
null,
"Warning"
)
);
}
if (props.x === 67) {
return React.createElement("i", { alt: "", className: "_3-8_ img sp_i534r85sjIn sx_b5d079", src: null });
}
if (props.x === 70) {
return React.createElement("i", { src: null, alt: "", className: "img sp_i534r85sjIn sx_29f8c9" });
}
if (props.x === 76) {
return React.createElement("i", { alt: "", className: "_3-8_ img sp_i534r85sjIn sx_ef6a9c", src: null });
}
if (props.x === 79) {
return React.createElement("i", { src: null, alt: "", className: "img sp_i534r85sjIn sx_6f8c43" });
}
if (props.x === 88) {
return React.createElement("i", { src: null, alt: "", className: "img sp_i534r85sjIn sx_e94a2d" });
}
if (props.x === 91) {
return React.createElement("i", { src: null, alt: "", className: "img sp_i534r85sjIn sx_7ed7d4" });
}
if (props.x === 94) {
return React.createElement("i", { src: null, alt: "", className: "img sp_i534r85sjIn sx_930440" });
}
if (props.x === 98) {
return React.createElement("i", { src: null, alt: "", className: "img sp_i534r85sjIn sx_750c83" });
}
if (props.x === 108) {
return React.createElement("i", { src: null, alt: "", className: "img sp_i534r85sjIn sx_73c1bb" });
}
if (props.x === 111) {
return React.createElement("i", { src: null, alt: "", className: "img sp_i534r85sjIn sx_29f28d" });
}
if (props.x === 126) {
return React.createElement("i", { src: null, alt: "", className: "_3-8_ img sp_i534r85sjIn sx_91c59e" });
}
if (props.x === 127) {
return React.createElement("i", { alt: "", className: "_3-99 img sp_i534r85sjIn sx_538591", src: null });
}
if (props.x === 134) {
return React.createElement("i", { src: null, alt: "", className: "_3-8_ img sp_i534r85sjIn sx_c8eb75" });
}
if (props.x === 135) {
return React.createElement("i", { alt: "", className: "_3-99 img sp_i534r85sjIn sx_538591", src: null });
}
if (props.x === 148) {
return React.createElement("i", { className: "_3yz6 _5whs img sp_i534r85sjIn sx_896996", src: null, alt: "" });
}
if (props.x === 152) {
return React.createElement("i", { className: "_5b5p _4gem img sp_i534r85sjIn sx_896996", src: null, alt: "" });
}
if (props.x === 153) {
return React.createElement("i", { className: "_541d img sp_i534r85sjIn sx_2f396a", src: null, alt: "" });
}
if (props.x === 160) {
return React.createElement("i", { src: null, alt: "", className: "img sp_i534r85sjIn sx_31d9b0" });
}
if (props.x === 177) {
return React.createElement("i", { alt: "", className: "_3-99 img sp_i534r85sjIn sx_2c18b7", src: null });
}
if (props.x === 186) {
return React.createElement("i", { src: null, alt: "", className: "img sp_i534r85sjIn sx_0a681f" });
}
if (props.x === 195) {
return React.createElement("i", { className: "_1-lx img sp_OkER5ktbEyg sx_b369b4", src: null, alt: "" });
}
if (props.x === 198) {
return React.createElement("i", { className: "_1-lx img sp_i534r85sjIn sx_96948e", src: null, alt: "" });
}
if (props.x === 237) {
return React.createElement("i", { className: "_541d img sp_i534r85sjIn sx_2f396a", src: null, alt: "" });
}
if (props.x === 266) {
return React.createElement("i", { alt: "", className: "_3-99 img sp_i534r85sjIn sx_538591", src: null });
}
if (props.x === 314) {
return React.createElement("i", { className: "_1cie _1cif img sp_i534r85sjIn sx_6e6820", src: null, alt: "" });
}
if (props.x === 345) {
return React.createElement("i", { className: "_1cie img sp_i534r85sjIn sx_e896cf", src: null, alt: "" });
}
if (props.x === 351) {
return React.createElement("i", { className: "_1cie img sp_i534r85sjIn sx_38fed8", src: null, alt: "" });
}
};
var AbstractLink1 = function (props) {
if (props.x === 1) {
return React.createElement(
"a",
{ className: "_387r _55pi _2agf _4jy0 _4jy4 _517h _51sy _42ft", style: { "width": 250, "maxWidth": "250px" }, disabled: null, label: null, href: "#", rel: undefined, onClick: function () {} },
null,
React.createElement(
"span",
{ className: "_55pe", style: { "maxWidth": "236px" } },
null,
React.createElement(
"span",
null,
React.createElement(
"span",
{ className: "_48u-" },
"Account:"
),
" ",
"Dick Madanson (10149999073643408)"
)
),
React.createElement(ReactImage0, { x: 0 })
);
}
if (props.x === 43) {
return React.createElement(
"a",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_585q _50zy _50-0 _50z- _5upp _42ft", size: "medium", type: null, title: "Remove", "data-hover": undefined, "data-tooltip-alignh": undefined, "data-tooltip-content": undefined, disabled: null, label: null, href: "#", rel: undefined, onClick: function () {} },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
undefined,
"Remove",
undefined
);
}
if (props.x === 49) {
return React.createElement(
"a",
{ target: "_blank", href: "/ads/manage/billing.php?act=10149999073643408", rel: undefined, onClick: function () {} },
React.createElement(XUIText29, { x: 48 })
);
}
if (props.x === 128) {
return React.createElement(
"a",
{ className: " _5bbf _55pi _2agf _4jy0 _4jy4 _517h _51sy _42ft", style: { "maxWidth": "200px" }, disabled: null, label: null, href: "#", rel: undefined, onClick: function () {} },
null,
React.createElement(
"span",
{ className: "_55pe", style: { "maxWidth": "186px" } },
React.createElement(ReactImage0, { x: 126 }),
"Search"
),
React.createElement(ReactImage0, { x: 127 })
);
}
if (props.x === 136) {
return React.createElement(
"a",
{ className: " _5bbf _55pi _2agf _4jy0 _4jy4 _517h _51sy _42ft", style: { "maxWidth": "200px" }, disabled: null, label: null, href: "#", rel: undefined, onClick: function () {} },
null,
React.createElement(
"span",
{ className: "_55pe", style: { "maxWidth": "186px" } },
React.createElement(ReactImage0, { x: 134 }),
"Filters"
),
React.createElement(ReactImage0, { x: 135 })
);
}
if (props.x === 178) {
return React.createElement(
"a",
{ className: "_1_-t _1_-v _42ft", disabled: null, height: "medium", role: "button", label: null, href: "#", rel: undefined, onClick: function () {} },
undefined,
"Lifetime",
React.createElement(ReactImage0, { x: 177 })
);
}
if (props.x === 207) {
return React.createElement(
"a",
{ href: "#", rel: undefined, onClick: function () {} },
"Create Ad Set"
);
}
if (props.x === 209) {
return React.createElement(
"a",
{ href: "#", rel: undefined, onClick: function () {} },
"View Ad Set"
);
}
if (props.x === 241) {
return React.createElement(
"a",
{ href: "#", rel: undefined, onClick: function () {} },
"Set a Limit"
);
}
if (props.x === 267) {
return React.createElement(
"a",
{ className: "_p _55pi _2agf _4jy0 _4jy3 _517h _51sy _42ft", style: { "maxWidth": "200px" }, disabled: null, label: null, href: "#", rel: undefined, onClick: function () {} },
null,
React.createElement(
"span",
{ className: "_55pe", style: { "maxWidth": "186px" } },
null,
"Links"
),
React.createElement(ReactImage0, { x: 266 })
);
}
};
var Link2 = function (props) {
if (props.x === 2) {
return React.createElement(AbstractLink1, { x: 1 });
}
if (props.x === 44) {
return React.createElement(AbstractLink1, { x: 43 });
}
if (props.x === 50) {
return React.createElement(AbstractLink1, { x: 49 });
}
if (props.x === 129) {
return React.createElement(AbstractLink1, { x: 128 });
}
if (props.x === 137) {
return React.createElement(AbstractLink1, { x: 136 });
}
if (props.x === 179) {
return React.createElement(AbstractLink1, { x: 178 });
}
if (props.x === 208) {
return React.createElement(AbstractLink1, { x: 207 });
}
if (props.x === 210) {
return React.createElement(AbstractLink1, { x: 209 });
}
if (props.x === 242) {
return React.createElement(AbstractLink1, { x: 241 });
}
if (props.x === 268) {
return React.createElement(AbstractLink1, { x: 267 });
}
};
var AbstractButton3 = function (props) {
if (props.x === 3) {
return React.createElement(Link2, { x: 2 });
}
if (props.x === 20) {
return React.createElement(
"button",
{ className: "_5n7z _4jy0 _4jy4 _517h _51sy _42ft", onClick: function () {}, label: null, type: "submit", value: "1" },
undefined,
"Discard Changes",
undefined
);
}
if (props.x === 23) {
return React.createElement(
"button",
{ className: "_5n7z _2yak _4lj- _4jy0 _4jy4 _517h _51sy _42ft _42fr", disabled: true, onClick: function () {}, "data-tooltip-content": "You have no changes to publish", "data-hover": "tooltip", label: null, type: "submit", value: "1" },
React.createElement(ReactImage0, { x: 22 }),
"Review Changes",
undefined
);
}
if (props.x === 45) {
return React.createElement(Link2, { x: 44 });
}
if (props.x === 68) {
return React.createElement(
"button",
{ className: "_u_k _4jy0 _4jy4 _517h _51sy _42ft", onClick: function () {}, label: null, type: "submit", value: "1" },
React.createElement(ReactImage0, { x: 67 }),
"Create Campaign",
undefined
);
}
if (props.x === 71) {
return React.createElement(
"button",
{ className: "_u_k _3qx6 _p _4jy0 _4jy4 _517h _51sy _42ft", label: null, type: "submit", value: "1" },
React.createElement(ReactImage0, { x: 70 }),
undefined,
undefined
);
}
if (props.x === 77) {
return React.createElement(
"button",
{ "aria-label": "Edit", "data-tooltip-content": "Edit Campaigns (Ctrl+U)", "data-hover": "tooltip", className: "_d2_ _u_k noMargin _4jy0 _4jy4 _517h _51sy _42ft", disabled: false, onClick: function () {}, label: null, type: "submit", value: "1" },
React.createElement(ReactImage0, { x: 76 }),
"Edit",
undefined
);
}
if (props.x === 80) {
return React.createElement(
"button",
{ className: "_u_k _3qx6 _p _4jy0 _4jy4 _517h _51sy _42ft", disabled: false, label: null, type: "submit", value: "1" },
React.createElement(ReactImage0, { x: 79 }),
undefined,
undefined
);
}
if (props.x === 89) {
return React.createElement(
"button",
{ "aria-label": "Revert", className: "_u_k _4jy0 _4jy4 _517h _51sy _42ft _42fr", "data-hover": "tooltip", "data-tooltip-content": "Revert", disabled: true, onClick: function () {}, label: null, type: "submit", value: "1" },
React.createElement(ReactImage0, { x: 88 }),
undefined,
undefined
);
}
if (props.x === 92) {
return React.createElement(
"button",
{ "aria-label": "Delete", className: "_u_k _4jy0 _4jy4 _517h _51sy _42ft", "data-hover": "tooltip", "data-tooltip-content": "Delete", disabled: false, onClick: function () {}, label: null, type: "submit", value: "1" },
React.createElement(ReactImage0, { x: 91 }),
undefined,
undefined
);
}
if (props.x === 95) {
return React.createElement(
"button",
{ "aria-label": "Duplicate", className: "_u_k _4jy0 _4jy4 _517h _51sy _42ft", "data-hover": "tooltip", "data-tooltip-content": "Duplicate", disabled: false, onClick: function () {}, label: null, type: "submit", value: "1" },
React.createElement(ReactImage0, { x: 94 }),
undefined,
undefined
);
}
if (props.x === 99) {
return React.createElement(
"button",
{ "aria-label": "Export & Import", className: "_u_k noMargin _p _4jy0 _4jy4 _517h _51sy _42ft", "data-hover": "tooltip", "data-tooltip-content": "Export & Import", onClick: function () {}, label: null, type: "submit", value: "1" },
React.createElement(ReactImage0, { x: 98 }),
undefined,
undefined
);
}
if (props.x === 109) {
return React.createElement(
"button",
{ "aria-label": "Create Report", className: "_u_k _5n7z _4jy0 _4jy4 _517h _51sy _42ft", "data-hover": "tooltip", "data-tooltip-content": "Create Report", disabled: false, style: { "boxSizing": "border-box", "height": "28px", "width": "48px" }, onClick: function () {}, label: null, type: "submit", value: "1" },
React.createElement(ReactImage0, { x: 108 }),
undefined,
undefined
);
}
if (props.x === 112) {
return React.createElement(
"button",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ "aria-label": "Campaign Tags", className: " _5uy7 _4jy0 _4jy4 _517h _51sy _42ft", "data-hover": "tooltip", "data-tooltip-content": "Campaign Tags", disabled: false, onClick: function () {}, label: null, type: "submit", value: "1" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(ReactImage0, { x: 111 }),
undefined,
undefined
);
}
if (props.x === 130) {
return React.createElement(Link2, { x: 129 });
}
if (props.x === 138) {
return React.createElement(Link2, { x: 137 });
}
if (props.x === 149) {
return React.createElement(
"button",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_3yz9 _1t-2 _50z- _50zy _50zz _50z- _5upp _42ft", size: "small", onClick: function () {}, type: "button", title: "Remove", "data-hover": undefined, "data-tooltip-alignh": undefined, "data-tooltip-content": undefined, label: null },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
undefined,
"Remove",
undefined
);
}
if (props.x === 156) {
return React.createElement(
"button",
{ className: "_5b5u _5b5v _4jy0 _4jy3 _517h _51sy _42ft", onClick: function () {}, label: null, type: "submit", value: "1" },
undefined,
"Apply",
undefined
);
}
if (props.x === 161) {
return React.createElement(
"button",
{ className: "_1wdf _4jy0 _517i _517h _51sy _42ft", onClick: function () {}, label: null, type: "submit", value: "1" },
React.createElement(ReactImage0, { x: 160 }),
undefined,
undefined
);
}
if (props.x === 180) {
return React.createElement(Link2, { x: 179 });
}
if (props.x === 187) {
return React.createElement(
"button",
{ "aria-label": "List Settings", className: "_u_k _3c5o _1-r0 _4jy0 _4jy4 _517h _51sy _42ft", "data-hover": "tooltip", "data-tooltip-content": "List Settings", onClick: function () {}, label: null, type: "submit", value: "1" },
React.createElement(ReactImage0, { x: 186 }),
undefined,
undefined
);
}
if (props.x === 269) {
return React.createElement(Link2, { x: 268 });
}
if (props.x === 303) {
return React.createElement(
"button",
{ className: "_tm3 _tm6 _tm7 _4jy0 _4jy6 _517h _51sy _42ft", "data-tooltip-position": "right", "data-tooltip-content": "Campaigns", "data-hover": "tooltip", onClick: function () {}, label: null, type: "submit", value: "1" },
undefined,
React.createElement(
"div",
null,
React.createElement("div", { className: "_tma" }),
React.createElement("div", { className: "_tm8" }),
React.createElement(
"div",
{ className: "_tm9" },
1
)
),
undefined
);
}
if (props.x === 305) {
return React.createElement(
"button",
{ className: "_tm4 _tm6 _4jy0 _4jy6 _517h _51sy _42ft", "data-tooltip-position": "right", "data-tooltip-content": "Ad Sets", "data-hover": "tooltip", onClick: function () {}, label: null, type: "submit", value: "1" },
undefined,
React.createElement(
"div",
null,
React.createElement("div", { className: "_tma" }),
React.createElement("div", { className: "_tm8" }),
React.createElement(
"div",
{ className: "_tm9" },
1
)
),
undefined
);
}
if (props.x === 307) {
return React.createElement(
"button",
{ className: "_tm5 _tm6 _4jy0 _4jy6 _517h _51sy _42ft", "data-tooltip-position": "right", "data-tooltip-content": "Ads", "data-hover": "tooltip", onClick: function () {}, label: null, type: "submit", value: "1" },
undefined,
React.createElement(
"div",
null,
React.createElement("div", { className: "_tma" }),
React.createElement("div", { className: "_tm8" }),
React.createElement(
"div",
{ className: "_tm9" },
1
)
),
undefined
);
}
};
var XUIButton4 = function (props) {
if (props.x === 4) {
return React.createElement(AbstractButton3, { x: 3 });
}
if (props.x === 21) {
return React.createElement(AbstractButton3, { x: 20 });
}
if (props.x === 24) {
return React.createElement(AbstractButton3, { x: 23 });
}
if (props.x === 69) {
return React.createElement(AbstractButton3, { x: 68 });
}
if (props.x === 72) {
return React.createElement(AbstractButton3, { x: 71 });
}
if (props.x === 78) {
return React.createElement(AbstractButton3, { x: 77 });
}
if (props.x === 81) {
return React.createElement(AbstractButton3, { x: 80 });
}
if (props.x === 90) {
return React.createElement(AbstractButton3, { x: 89 });
}
if (props.x === 93) {
return React.createElement(AbstractButton3, { x: 92 });
}
if (props.x === 96) {
return React.createElement(AbstractButton3, { x: 95 });
}
if (props.x === 100) {
return React.createElement(AbstractButton3, { x: 99 });
}
if (props.x === 110) {
return React.createElement(AbstractButton3, { x: 109 });
}
if (props.x === 113) {
return React.createElement(AbstractButton3, { x: 112 });
}
if (props.x === 131) {
return React.createElement(AbstractButton3, { x: 130 });
}
if (props.x === 139) {
return React.createElement(AbstractButton3, { x: 138 });
}
if (props.x === 157) {
return React.createElement(AbstractButton3, { x: 156 });
}
if (props.x === 162) {
return React.createElement(AbstractButton3, { x: 161 });
}
if (props.x === 188) {
return React.createElement(AbstractButton3, { x: 187 });
}
if (props.x === 270) {
return React.createElement(AbstractButton3, { x: 269 });
}
if (props.x === 304) {
return React.createElement(AbstractButton3, { x: 303 });
}
if (props.x === 306) {
return React.createElement(AbstractButton3, { x: 305 });
}
if (props.x === 308) {
return React.createElement(AbstractButton3, { x: 307 });
}
};
var AbstractPopoverButton5 = function (props) {
if (props.x === 5) {
return React.createElement(XUIButton4, { x: 4 });
}
if (props.x === 132) {
return React.createElement(XUIButton4, { x: 131 });
}
if (props.x === 140) {
return React.createElement(XUIButton4, { x: 139 });
}
if (props.x === 271) {
return React.createElement(XUIButton4, { x: 270 });
}
};
var ReactXUIPopoverButton6 = function (props) {
if (props.x === 6) {
return React.createElement(AbstractPopoverButton5, { x: 5 });
}
if (props.x === 133) {
return React.createElement(AbstractPopoverButton5, { x: 132 });
}
if (props.x === 141) {
return React.createElement(AbstractPopoverButton5, { x: 140 });
}
if (props.x === 272) {
return React.createElement(AbstractPopoverButton5, { x: 271 });
}
};
var BIGAdAccountSelector7 = function (props) {
if (props.x === 7) {
return React.createElement(
"div",
null,
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement(ReactXUIPopoverButton6, { x: 6 }),
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
null
);
}
};
var FluxContainer_AdsPEBIGAdAccountSelectorContainer_8 = function (props) {
if (props.x === 8) {
return React.createElement(BIGAdAccountSelector7, { x: 7 });
}
};
var ErrorBoundary9 = function (props) {
if (props.x === 9) {
return React.createElement(FluxContainer_AdsPEBIGAdAccountSelectorContainer_8, { x: 8 });
}
if (props.x === 13) {
return React.createElement(FluxContainer_AdsPENavigationBarContainer_12, { x: 12 });
}
if (props.x === 27) {
return React.createElement(FluxContainer_AdsPEPublishButtonContainer_18, { x: 26 });
}
if (props.x === 32) {
return React.createElement(ReactPopoverMenu20, { x: 31 });
}
if (props.x === 38) {
return React.createElement(AdsPEResetDialog24, { x: 37 });
}
if (props.x === 57) {
return React.createElement(FluxContainer_AdsPETopErrorContainer_35, { x: 56 });
}
if (props.x === 60) {
return React.createElement(FluxContainer_AdsGuidanceChannel_36, { x: 59 });
}
if (props.x === 64) {
return React.createElement(FluxContainer_AdsBulkEditDialogContainer_38, { x: 63 });
}
if (props.x === 124) {
return React.createElement(AdsPECampaignGroupToolbarContainer57, { x: 123 });
}
if (props.x === 170) {
return React.createElement(AdsPEFilterContainer72, { x: 169 });
}
if (props.x === 175) {
return React.createElement(AdsPETablePagerContainer75, { x: 174 });
}
if (props.x === 193) {
return React.createElement(AdsPEStatRangeContainer81, { x: 192 });
}
if (props.x === 301) {
return React.createElement(FluxContainer_AdsPEMultiTabDrawerContainer_137, { x: 300 });
}
if (props.x === 311) {
return React.createElement(AdsPEOrganizerContainer139, { x: 310 });
}
if (props.x === 471) {
return React.createElement(AdsPECampaignGroupTableContainer159, { x: 470 });
}
if (props.x === 475) {
return React.createElement(AdsPEContentContainer161, { x: 474 });
}
};
var AdsErrorBoundary10 = function (props) {
if (props.x === 10) {
return React.createElement(ErrorBoundary9, { x: 9 });
}
if (props.x === 14) {
return React.createElement(ErrorBoundary9, { x: 13 });
}
if (props.x === 28) {
return React.createElement(ErrorBoundary9, { x: 27 });
}
if (props.x === 33) {
return React.createElement(ErrorBoundary9, { x: 32 });
}
if (props.x === 39) {
return React.createElement(ErrorBoundary9, { x: 38 });
}
if (props.x === 58) {
return React.createElement(ErrorBoundary9, { x: 57 });
}
if (props.x === 61) {
return React.createElement(ErrorBoundary9, { x: 60 });
}
if (props.x === 65) {
return React.createElement(ErrorBoundary9, { x: 64 });
}
if (props.x === 125) {
return React.createElement(ErrorBoundary9, { x: 124 });
}
if (props.x === 171) {
return React.createElement(ErrorBoundary9, { x: 170 });
}
if (props.x === 176) {
return React.createElement(ErrorBoundary9, { x: 175 });
}
if (props.x === 194) {
return React.createElement(ErrorBoundary9, { x: 193 });
}
if (props.x === 302) {
return React.createElement(ErrorBoundary9, { x: 301 });
}
if (props.x === 312) {
return React.createElement(ErrorBoundary9, { x: 311 });
}
if (props.x === 472) {
return React.createElement(ErrorBoundary9, { x: 471 });
}
if (props.x === 476) {
return React.createElement(ErrorBoundary9, { x: 475 });
}
};
var AdsPENavigationBar11 = function (props) {
if (props.x === 11) {
return React.createElement("div", { className: "_4t_9" });
}
};
var FluxContainer_AdsPENavigationBarContainer_12 = function (props) {
if (props.x === 12) {
return React.createElement(AdsPENavigationBar11, { x: 11 });
}
};
var AdsPEDraftSyncStatus13 = function (props) {
if (props.x === 16) {
return React.createElement(
"div",
{ className: "_3ut-", onClick: function () {} },
React.createElement(
"span",
{ className: "_3uu0" },
React.createElement(ReactImage0, { x: 15 })
)
);
}
};
var FluxContainer_AdsPEDraftSyncStatusContainer_14 = function (props) {
if (props.x === 17) {
return React.createElement(AdsPEDraftSyncStatus13, { x: 16 });
}
};
var AdsPEDraftErrorsStatus15 = function (props) {
if (props.x === 18) {
return null;
}
};
var FluxContainer_viewFn_16 = function (props) {
if (props.x === 19) {
return React.createElement(AdsPEDraftErrorsStatus15, { x: 18 });
}
};
var AdsPEPublishButton17 = function (props) {
if (props.x === 25) {
return React.createElement(
"div",
{ className: "_5533" },
React.createElement(FluxContainer_AdsPEDraftSyncStatusContainer_14, { x: 17 }),
React.createElement(FluxContainer_viewFn_16, { x: 19 }),
null,
React.createElement(XUIButton4, { x: 21, key: "discard" }),
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement(XUIButton4, { x: 24 })
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
);
}
};
var FluxContainer_AdsPEPublishButtonContainer_18 = function (props) {
if (props.x === 26) {
return React.createElement(AdsPEPublishButton17, { x: 25 });
}
};
var InlineBlock19 = function (props) {
if (props.x === 30) {
return React.createElement(
"div",
{ className: "uiPopover _6a _6b", disabled: null },
React.createElement(ReactImage0, { x: 29, key: ".0" })
);
}
if (props.x === 73) {
return React.createElement(
"div",
{ className: "uiPopover _6a _6b", disabled: null },
React.createElement(XUIButton4, { x: 72, key: ".0" })
);
}
if (props.x === 82) {
return React.createElement(
"div",
{ className: "_1nwm uiPopover _6a _6b", disabled: null },
React.createElement(XUIButton4, { x: 81, key: ".0" })
);
}
if (props.x === 101) {
return React.createElement(
"div",
{ size: "large", className: "uiPopover _6a _6b", disabled: null },
React.createElement(XUIButton4, { x: 100, key: ".0" })
);
}
if (props.x === 273) {
return React.createElement(
"div",
{ className: "_3-90 uiPopover _6a _6b", style: { "marginTop": 2 }, disabled: null },
React.createElement(ReactXUIPopoverButton6, { x: 272, key: ".0" })
);
}
};
var ReactPopoverMenu20 = function (props) {
if (props.x === 31) {
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
return React.createElement(InlineBlock19, { x: 30 });
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
}
if (props.x === 74) {
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
return React.createElement(InlineBlock19, { x: 73 });
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
}
if (props.x === 83) {
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
return React.createElement(InlineBlock19, { x: 82 });
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
}
if (props.x === 102) {
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
return React.createElement(InlineBlock19, { x: 101 });
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
}
if (props.x === 274) {
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
return React.createElement(InlineBlock19, { x: 273 });
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
}
};
var LeftRight21 = function (props) {
if (props.x === 34) {
return React.createElement(
"div",
{ className: "clearfix" },
React.createElement(
"div",
{ key: "left", className: "_ohe lfloat" },
React.createElement(
"div",
{ className: "_34_j" },
React.createElement(
"div",
{ className: "_34_k" },
React.createElement(AdsErrorBoundary10, { x: 10 })
),
React.createElement(
"div",
{ className: "_2u-6" },
React.createElement(AdsErrorBoundary10, { x: 14 })
)
)
),
React.createElement(
"div",
{ key: "right", className: "_ohf rfloat" },
React.createElement(
"div",
{ className: "_34_m" },
React.createElement(
"div",
{ key: "0", className: "_5ju2" },
React.createElement(AdsErrorBoundary10, { x: 28 })
),
React.createElement(
"div",
{ key: "1", className: "_5ju2" },
React.createElement(AdsErrorBoundary10, { x: 33 })
)
)
)
);
}
if (props.x === 232) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ direction: "left", className: "clearfix" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ key: "left", className: "_ohe lfloat" },
React.createElement(AdsLabeledField104, { x: 231 })
),
React.createElement(
"div",
{ key: "right", className: "" },
React.createElement(
"div",
{ className: "_42ef" },
React.createElement(
"div",
{ className: "_2oc7" },
"Clicks to Website"
)
)
)
);
}
if (props.x === 235) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_3-8x clearfix", direction: "left" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ key: "left", className: "_ohe lfloat" },
React.createElement(AdsLabeledField104, { x: 234 })
),
React.createElement(
"div",
{ key: "right", className: "" },
React.createElement(
"div",
{ className: "_42ef" },
React.createElement(
"div",
{ className: "_2oc7" },
"Auction"
)
)
)
);
}
if (props.x === 245) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_3-8y clearfix", direction: "left" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ key: "left", className: "_ohe lfloat" },
React.createElement(AdsLabeledField104, { x: 240 })
),
React.createElement(
"div",
{ key: "right", className: "" },
React.createElement(
"div",
{ className: "_42ef" },
React.createElement(FluxContainer_AdsCampaignGroupSpendCapContainer_107, { x: 244 })
)
)
);
}
if (props.x === 277) {
return React.createElement(
"div",
{ className: "_5dw9 _5dwa clearfix" },
React.createElement(
"div",
{ key: "left", className: "_ohe lfloat" },
React.createElement(XUICardHeaderTitle100, { x: 265, key: ".0" })
),
React.createElement(
"div",
{ key: "right", className: "_ohf rfloat" },
React.createElement(FluxContainer_AdsPluginizedLinksMenuContainer_121, { x: 276, key: ".1" })
)
);
}
};
var AdsUnifiedNavigationLocalNav22 = function (props) {
if (props.x === 35) {
return React.createElement(
"div",
{ className: "_34_i" },
React.createElement(LeftRight21, { x: 34 })
);
}
};
var XUIDialog23 = function (props) {
if (props.x === 36) {
return null;
}
};
var AdsPEResetDialog24 = function (props) {
if (props.x === 37) {
return React.createElement(
"span",
null,
React.createElement(XUIDialog23, { x: 36, key: "dialog/.0" })
);
}
};
var AdsPETopNav25 = function (props) {
if (props.x === 40) {
return React.createElement(
"div",
{ style: { "width": 1306 } },
React.createElement(AdsUnifiedNavigationLocalNav22, { x: 35 }),
React.createElement(AdsErrorBoundary10, { x: 39 })
);
}
};
var FluxContainer_AdsPETopNavContainer_26 = function (props) {
if (props.x === 41) {
return React.createElement(AdsPETopNav25, { x: 40 });
}
};
var XUIAbstractGlyphButton27 = function (props) {
if (props.x === 46) {
return React.createElement(AbstractButton3, { x: 45 });
}
if (props.x === 150) {
return React.createElement(AbstractButton3, { x: 149 });
}
};
var XUICloseButton28 = function (props) {
if (props.x === 47) {
return React.createElement(XUIAbstractGlyphButton27, { x: 46 });
}
if (props.x === 151) {
return React.createElement(XUIAbstractGlyphButton27, { x: 150 });
}
};
var XUIText29 = function (props) {
if (props.x === 48) {
return React.createElement(
"span",
{ display: "inline", className: " _50f7" },
"Ads Manager"
);
}
if (props.x === 205) {
return React.createElement(
"span",
{ className: "_2x9f _50f5 _50f7", display: "inline" },
"Editing Campaign"
);
}
if (props.x === 206) {
return React.createElement(
"span",
{ display: "inline", className: " _50f5 _50f7" },
"Test Campaign"
);
}
};
var XUINotice30 = function (props) {
if (props.x === 51) {
return React.createElement(
"div",
{ size: "medium", className: "_585n _585o _2wdd" },
React.createElement(ReactImage0, { x: 42 }),
React.createElement(XUICloseButton28, { x: 47 }),
React.createElement(
"div",
{ className: "_585r _2i-a _50f4" },
"Please go to ",
React.createElement(Link2, { x: 50 }),
" to set up a payment method for this ad account."
)
);
}
};
var ReactCSSTransitionGroupChild31 = function (props) {
if (props.x === 52) {
return React.createElement(XUINotice30, { x: 51 });
}
};
var ReactTransitionGroup32 = function (props) {
if (props.x === 53) {
return React.createElement(
"span",
null,
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement(ReactCSSTransitionGroupChild31, { x: 52, key: ".0" })
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
);
}
};
var ReactCSSTransitionGroup33 = function (props) {
if (props.x === 54) {
return React.createElement(ReactTransitionGroup32, { x: 53 });
}
};
var AdsPETopError34 = function (props) {
if (props.x === 55) {
return React.createElement(
"div",
{ className: "_2wdc" },
React.createElement(ReactCSSTransitionGroup33, { x: 54 })
);
}
};
var FluxContainer_AdsPETopErrorContainer_35 = function (props) {
if (props.x === 56) {
return React.createElement(AdsPETopError34, { x: 55 });
}
};
var FluxContainer_AdsGuidanceChannel_36 = function (props) {
if (props.x === 59) {
return null;
}
};
var ResponsiveBlock37 = function (props) {
if (props.x === 62) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_4u-c" },
[React.createElement(AdsErrorBoundary10, { x: 58, key: 1 }), React.createElement(AdsErrorBoundary10, { x: 61, key: 2 })],
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ key: "sensor", className: "_4u-f" },
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement("iframe", { "aria-hidden": "true", className: "_1_xb", tabIndex: "-1" })
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
)
);
}
if (props.x === 469) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_4u-c" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(AdsPEDataTableContainer158, { x: 468 }),
React.createElement(
"div",
{ key: "sensor", className: "_4u-f" },
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement("iframe", { "aria-hidden": "true", className: "_1_xb", tabIndex: "-1" })
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
)
);
}
};
var FluxContainer_AdsBulkEditDialogContainer_38 = function (props) {
if (props.x === 63) {
return null;
}
};
var Column39 = function (props) {
if (props.x === 66) {
return React.createElement(
"div",
{ className: "_4bl8 _4bl7" },
React.createElement(
"div",
{ className: "_3c5f" },
null,
null,
React.createElement("div", { className: "_3c5i" }),
null
)
);
}
};
var XUIButtonGroup40 = function (props) {
if (props.x === 75) {
return React.createElement(
"div",
{ className: "_5n7z _51xa" },
React.createElement(XUIButton4, { x: 69 }),
React.createElement(ReactPopoverMenu20, { x: 74 })
);
}
if (props.x === 84) {
return React.createElement(
"div",
{ className: "_5n7z _51xa" },
React.createElement(XUIButton4, { x: 78, key: "edit" }),
React.createElement(ReactPopoverMenu20, { x: 83, key: "editMenu" })
);
}
if (props.x === 97) {
return React.createElement(
"div",
{ className: "_5n7z _51xa" },
React.createElement(XUIButton4, { x: 90, key: "revert" }),
React.createElement(XUIButton4, { x: 93, key: "delete" }),
React.createElement(XUIButton4, { x: 96, key: "duplicate" })
);
}
if (props.x === 117) {
return React.createElement(
"div",
{ className: "_5n7z _51xa" },
React.createElement(AdsPEExportImportMenuContainer48, { x: 107 }),
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement(XUIButton4, { x: 110, key: "createReport" }),
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(AdsPECampaignGroupTagContainer51, { x: 116, key: "tags" })
);
}
};
var AdsPEEditToolbarButton41 = function (props) {
if (props.x === 85) {
return React.createElement(XUIButtonGroup40, { x: 84 });
}
};
var FluxContainer_AdsPEEditCampaignGroupToolbarButtonContainer_42 = function (props) {
if (props.x === 86) {
return React.createElement(AdsPEEditToolbarButton41, { x: 85 });
}
};
var FluxContainer_AdsPEEditToolbarButtonContainer_43 = function (props) {
if (props.x === 87) {
return React.createElement(FluxContainer_AdsPEEditCampaignGroupToolbarButtonContainer_42, { x: 86 });
}
};
var AdsPEExportImportMenu44 = function (props) {
if (props.x === 103) {
return React.createElement(ReactPopoverMenu20, { x: 102, key: "export" });
}
};
var FluxContainer_AdsPECustomizeExportContainer_45 = function (props) {
if (props.x === 104) {
return null;
}
};
var AdsPEExportAsTextDialog46 = function (props) {
if (props.x === 105) {
return null;
}
};
var FluxContainer_AdsPEExportAsTextDialogContainer_47 = function (props) {
if (props.x === 106) {
return React.createElement(AdsPEExportAsTextDialog46, { x: 105 });
}
};
var AdsPEExportImportMenuContainer48 = function (props) {
if (props.x === 107) {
return React.createElement(
"span",
null,
React.createElement(AdsPEExportImportMenu44, { x: 103 }),
React.createElement(FluxContainer_AdsPECustomizeExportContainer_45, { x: 104 }),
React.createElement(FluxContainer_AdsPEExportAsTextDialogContainer_47, { x: 106 }),
null,
null
);
}
};
var Constructor49 = function (props) {
if (props.x === 114) {
return null;
}
if (props.x === 142) {
return null;
}
if (props.x === 143) {
return null;
}
if (props.x === 183) {
return null;
}
};
var TagSelectorPopover50 = function (props) {
if (props.x === 115) {
return React.createElement(
"span",
{ className: " _3d6e" },
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement(XUIButton4, { x: 113 }),
React.createElement(Constructor49, { x: 114, key: "layer" })
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
);
}
};
var AdsPECampaignGroupTagContainer51 = function (props) {
if (props.x === 116) {
return React.createElement(TagSelectorPopover50, { x: 115, key: "98010048849317" });
}
};
var AdsRuleToolbarMenu52 = function (props) {
if (props.x === 118) {
return null;
}
};
var FluxContainer_AdsPERuleToolbarMenuContainer_53 = function (props) {
if (props.x === 119) {
return React.createElement(AdsRuleToolbarMenu52, { x: 118 });
}
};
var FillColumn54 = function (props) {
if (props.x === 120) {
return React.createElement(
"div",
{ className: "_4bl9" },
React.createElement(
"span",
{ className: "_3c5e" },
React.createElement(
"span",
null,
React.createElement(XUIButtonGroup40, { x: 75 }),
React.createElement(FluxContainer_AdsPEEditToolbarButtonContainer_43, { x: 87 }),
null,
React.createElement(XUIButtonGroup40, { x: 97 })
),
React.createElement(XUIButtonGroup40, { x: 117 }),
React.createElement(FluxContainer_AdsPERuleToolbarMenuContainer_53, { x: 119 })
)
);
}
};
var Layout55 = function (props) {
if (props.x === 121) {
return React.createElement(
"div",
{ className: "clearfix" },
React.createElement(Column39, { x: 66, key: "1" }),
React.createElement(FillColumn54, { x: 120, key: "0" })
);
}
};
var AdsPEMainPaneToolbar56 = function (props) {
if (props.x === 122) {
return React.createElement(
"div",
{ className: "_3c5b clearfix" },
React.createElement(Layout55, { x: 121 })
);
}
};
var AdsPECampaignGroupToolbarContainer57 = function (props) {
if (props.x === 123) {
return React.createElement(AdsPEMainPaneToolbar56, { x: 122 });
}
};
var AdsPEFiltersPopover58 = function (props) {
if (props.x === 144) {
return React.createElement(
"span",
{ className: "_5b-l _5bbe" },
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement(ReactXUIPopoverButton6, { x: 133 }),
React.createElement(ReactXUIPopoverButton6, { x: 141 }),
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
[React.createElement(Constructor49, { x: 142, key: "filterMenu/.0" }), React.createElement(Constructor49, { x: 143, key: "searchMenu/.0" })]
);
}
};
var AbstractCheckboxInput59 = function (props) {
if (props.x === 145) {
return React.createElement(
"label",
{ className: "uiInputLabelInput _55sg _kv1" },
React.createElement("input", { checked: true, disabled: true, name: "filterUnpublished", value: "on", onClick: function () {}, className: null, id: "js_input_label_21", type: "checkbox" }),
React.createElement("span", { "data-hover": null, "data-tooltip-content": undefined })
);
}
if (props.x === 336) {
return React.createElement(
"label",
{ className: "_4h2r _55sg _kv1" },
React.createElement("input", { checked: undefined, onChange: function () {}, className: null, type: "checkbox" }),
React.createElement("span", { "data-hover": null, "data-tooltip-content": undefined })
);
}
};
var XUICheckboxInput60 = function (props) {
if (props.x === 146) {
return React.createElement(AbstractCheckboxInput59, { x: 145 });
}
if (props.x === 337) {
return React.createElement(AbstractCheckboxInput59, { x: 336 });
}
};
var InputLabel61 = function (props) {
if (props.x === 147) {
return React.createElement(
"div",
{ display: "block", className: "uiInputLabel clearfix" },
React.createElement(XUICheckboxInput60, { x: 146 }),
React.createElement(
"label",
{ className: "uiInputLabelLabel", htmlFor: "js_input_label_21" },
"Always show new items"
)
);
}
};
var AdsPopoverLink62 = function (props) {
if (props.x === 154) {
return React.createElement(
"span",
null,
React.createElement(
"span",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ onMouseEnter: function () {}, onMouseLeave: function () {}, onMouseUp: undefined },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement("span", { className: "_3o_j" }),
React.createElement(ReactImage0, { x: 153 })
),
null
);
}
if (props.x === 238) {
return React.createElement(
"span",
null,
React.createElement(
"span",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ onMouseEnter: function () {}, onMouseLeave: function () {}, onMouseUp: undefined },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement("span", { className: "_3o_j" }),
React.createElement(ReactImage0, { x: 237 })
),
null
);
}
};
var AdsHelpLink63 = function (props) {
if (props.x === 155) {
return React.createElement(AdsPopoverLink62, { x: 154 });
}
if (props.x === 239) {
return React.createElement(AdsPopoverLink62, { x: 238 });
}
};
var BUIFilterTokenInput64 = function (props) {
if (props.x === 158) {
return React.createElement(
"div",
{ className: "_5b5o _3yz3 _4cld" },
React.createElement(
"div",
{ className: "_5b5t _2d2k" },
React.createElement(ReactImage0, { x: 152 }),
React.createElement(
"div",
{ className: "_5b5r" },
"Campaigns: (1)",
React.createElement(AdsHelpLink63, { x: 155 })
)
),
React.createElement(XUIButton4, { x: 157 })
);
}
};
var BUIFilterToken65 = function (props) {
if (props.x === 159) {
return React.createElement(
"div",
{ className: "_3yz1 _3yz2 _3dad" },
React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_3yz4", "aria-hidden": false },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ onClick: function () {}, className: "_3yz5" },
React.createElement(ReactImage0, { x: 148 }),
React.createElement(
"div",
{ className: "_3yz7" },
"Campaigns:"
),
React.createElement(
"div",
{ className: "ellipsis _3yz8", "data-hover": "tooltip", "data-tooltip-display": "overflow" },
"(1)"
)
),
null,
React.createElement(XUICloseButton28, { x: 151 })
),
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement(BUIFilterTokenInput64, { x: 158 })
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
);
}
};
var BUIFilterTokenCreateButton66 = function (props) {
if (props.x === 163) {
return React.createElement(
"div",
{ className: "_1tc" },
React.createElement(XUIButton4, { x: 162 })
);
}
};
var BUIFilterTokenizer67 = function (props) {
if (props.x === 164) {
return React.createElement(
"div",
{ className: "_5b-m clearfix" },
undefined,
[],
React.createElement(BUIFilterToken65, { x: 159, key: "token0" }),
React.createElement(BUIFilterTokenCreateButton66, { x: 163 }),
null,
React.createElement("div", { className: "_49u3" })
);
}
};
var XUIAmbientNUX68 = function (props) {
if (props.x === 165) {
return null;
}
if (props.x === 189) {
return null;
}
if (props.x === 200) {
return null;
}
};
var XUIAmbientNUX69 = function (props) {
if (props.x === 166) {
return React.createElement(XUIAmbientNUX68, { x: 165 });
}
if (props.x === 190) {
return React.createElement(XUIAmbientNUX68, { x: 189 });
}
if (props.x === 201) {
return React.createElement(XUIAmbientNUX68, { x: 200 });
}
};
var AdsPEAmbientNUXMegaphone70 = function (props) {
if (props.x === 167) {
return React.createElement(
"span",
null,
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement("span", { }),
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(XUIAmbientNUX69, { x: 166, key: "nux" })
);
}
};
var AdsPEFilters71 = function (props) {
if (props.x === 168) {
return React.createElement(
"div",
{ className: "_4rw_" },
React.createElement(AdsPEFiltersPopover58, { x: 144 }),
React.createElement(
"div",
{ className: "_1eo" },
React.createElement(InputLabel61, { x: 147 })
),
React.createElement(BUIFilterTokenizer67, { x: 164 }),
"",
React.createElement(AdsPEAmbientNUXMegaphone70, { x: 167 })
);
}
};
var AdsPEFilterContainer72 = function (props) {
if (props.x === 169) {
return React.createElement(AdsPEFilters71, { x: 168 });
}
};
var AdsPETablePager73 = function (props) {
if (props.x === 172) {
return null;
}
};
var AdsPECampaignGroupTablePagerContainer74 = function (props) {
if (props.x === 173) {
return React.createElement(AdsPETablePager73, { x: 172 });
}
};
var AdsPETablePagerContainer75 = function (props) {
if (props.x === 174) {
return React.createElement(AdsPECampaignGroupTablePagerContainer74, { x: 173 });
}
};
var ReactXUIError76 = function (props) {
if (props.x === 181) {
return React.createElement(AbstractButton3, { x: 180 });
}
if (props.x === 216) {
return React.createElement(
"div",
{ className: "_40bf _2vl4 _1h18" },
null,
null,
React.createElement(
"div",
{ className: "_2vl9 _1h1f", style: { "backgroundColor": "#fff" } },
React.createElement(
"div",
{ className: "_2vla _1h1g" },
React.createElement(
"div",
null,
null,
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement("textarea", { className: "_2vli _2vlj _1h26 _1h27", dir: "auto", disabled: undefined, id: undefined, maxLength: null, value: "Test Campaign", onBlur: function () {}, onChange: function () {}, onFocus: function () {}, onKeyDown: function () {} }),
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
null
),
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement("div", { "aria-hidden": "true", className: "_2vlk" })
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
)
),
null
);
}
if (props.x === 221) {
return React.createElement(XUICard94, { x: 220 });
}
if (props.x === 250) {
return React.createElement(XUICard94, { x: 249 });
}
if (props.x === 280) {
return React.createElement(XUICard94, { x: 279 });
}
};
var BUIPopoverButton77 = function (props) {
if (props.x === 182) {
return React.createElement(ReactXUIError76, { x: 181 });
}
};
var BUIDateRangePicker78 = function (props) {
if (props.x === 184) {
return React.createElement(
"span",
null,
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement(BUIPopoverButton77, { x: 182 }),
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
[React.createElement(Constructor49, { x: 183, key: "layer/.0" })]
);
}
};
var AdsPEStatsRangePicker79 = function (props) {
if (props.x === 185) {
return React.createElement(BUIDateRangePicker78, { x: 184 });
}
};
var AdsPEStatRange80 = function (props) {
if (props.x === 191) {
return React.createElement(
"div",
{ className: "_3c5k" },
React.createElement(
"span",
{ className: "_3c5j" },
"Stats:"
),
React.createElement(
"span",
{ className: "_3c5l" },
React.createElement(AdsPEStatsRangePicker79, { x: 185 }),
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement(XUIButton4, { x: 188, key: "settings" })
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
),
[React.createElement(XUIAmbientNUX69, { x: 190, key: "roasNUX/.0" })]
);
}
};
var AdsPEStatRangeContainer81 = function (props) {
if (props.x === 192) {
return React.createElement(AdsPEStatRange80, { x: 191 });
}
};
var AdsPESideTrayTabButton82 = function (props) {
if (props.x === 196) {
return React.createElement(
"div",
{ className: "_1-ly _59j9 _d9a", onClick: function () {} },
React.createElement(ReactImage0, { x: 195 }),
React.createElement("div", { className: "_vf7" }),
React.createElement("div", { className: "_vf8" })
);
}
if (props.x === 199) {
return React.createElement(
"div",
{ className: " _1-lz _d9a", onClick: function () {} },
React.createElement(ReactImage0, { x: 198 }),
React.createElement("div", { className: "_vf7" }),
React.createElement("div", { className: "_vf8" })
);
}
if (props.x === 203) {
return null;
}
};
var AdsPEEditorTrayTabButton83 = function (props) {
if (props.x === 197) {
return React.createElement(AdsPESideTrayTabButton82, { x: 196 });
}
};
var AdsPEInsightsTrayTabButton84 = function (props) {
if (props.x === 202) {
return React.createElement(
"span",
null,
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement(AdsPESideTrayTabButton82, { x: 199 }),
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(XUIAmbientNUX69, { x: 201, key: "roasNUX" })
);
}
};
var AdsPENekoDebuggerTrayTabButton85 = function (props) {
if (props.x === 204) {
return React.createElement(AdsPESideTrayTabButton82, { x: 203 });
}
};
var AdsPEEditorChildLink86 = function (props) {
if (props.x === 211) {
return React.createElement(
"div",
{ className: "_3ywr" },
React.createElement(Link2, { x: 208 }),
React.createElement(
"span",
{ className: "_3ywq" },
"|"
),
React.createElement(Link2, { x: 210 })
);
}
};
var AdsPEEditorChildLinkContainer87 = function (props) {
if (props.x === 212) {
return React.createElement(AdsPEEditorChildLink86, { x: 211 });
}
};
var AdsPEHeaderSection88 = function (props) {
if (props.x === 213) {
return React.createElement(
"div",
{ className: "_yke" },
React.createElement("div", { className: "_2x9d _pr-" }),
React.createElement(XUIText29, { x: 205 }),
React.createElement(
"div",
{ className: "_3a-a" },
React.createElement(
"div",
{ className: "_3a-b" },
React.createElement(XUIText29, { x: 206 })
)
),
React.createElement(AdsPEEditorChildLinkContainer87, { x: 212 })
);
}
};
var AdsPECampaignGroupHeaderSectionContainer89 = function (props) {
if (props.x === 214) {
return React.createElement(AdsPEHeaderSection88, { x: 213 });
}
};
var AdsEditorLoadingErrors90 = function (props) {
if (props.x === 215) {
return null;
}
};
var AdsTextInput91 = function (props) {
if (props.x === 217) {
return React.createElement(ReactXUIError76, { x: 216 });
}
};
var BUIFormElement92 = function (props) {
if (props.x === 218) {
return React.createElement(
"div",
{ className: "_5521 clearfix" },
React.createElement(
"div",
{ className: "_5522 _3w5q" },
React.createElement(
"label",
{ onClick: undefined, htmlFor: "1467872040612:1961945894", className: "_5523 _3w5r" },
"Campaign Name",
null
)
),
React.createElement(
"div",
{ className: "_5527" },
React.createElement(
"div",
{ className: "_5528" },
React.createElement(
"span",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ key: ".0", className: "_40bg", id: "1467872040612:1961945894" },
React.createElement(AdsTextInput91, { x: 217, key: "nameEditor98010048849317" }),
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
null
)
),
null
)
);
}
};
var BUIForm93 = function (props) {
if (props.x === 219) {
return React.createElement(
"div",
{ className: "_5ks1 _550r _550t _550y _3w5n" },
React.createElement(BUIFormElement92, { x: 218, key: ".0" })
);
}
};
var XUICard94 = function (props) {
if (props.x === 220) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_40bc _12k2 _4-u2 _4-u8" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(BUIForm93, { x: 219 })
);
}
if (props.x === 249) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_12k2 _4-u2 _4-u8" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(AdsCardHeader103, { x: 230 }),
React.createElement(AdsCardSection108, { x: 248 })
);
}
if (props.x === 279) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_12k2 _4-u2 _4-u8" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(AdsCardLeftRightHeader122, { x: 278 })
);
}
};
var AdsCard95 = function (props) {
if (props.x === 222) {
return React.createElement(ReactXUIError76, { x: 221 });
}
if (props.x === 251) {
return React.createElement(ReactXUIError76, { x: 250 });
}
if (props.x === 281) {
return React.createElement(ReactXUIError76, { x: 280 });
}
};
var AdsEditorNameSection96 = function (props) {
if (props.x === 223) {
return React.createElement(AdsCard95, { x: 222 });
}
};
var AdsCampaignGroupNameSectionContainer97 = function (props) {
if (props.x === 224) {
return React.createElement(AdsEditorNameSection96, { x: 223, key: "nameSection98010048849317" });
}
};
var _render98 = function (props) {
if (props.x === 225) {
return React.createElement(AdsCampaignGroupNameSectionContainer97, { x: 224 });
}
};
var AdsPluginWrapper99 = function (props) {
if (props.x === 226) {
return React.createElement(_render98, { x: 225 });
}
if (props.x === 255) {
return React.createElement(_render111, { x: 254 });
}
if (props.x === 258) {
return React.createElement(_render113, { x: 257 });
}
if (props.x === 287) {
return React.createElement(_render127, { x: 286 });
}
if (props.x === 291) {
return React.createElement(_render130, { x: 290 });
}
};
var XUICardHeaderTitle100 = function (props) {
if (props.x === 227) {
return React.createElement(
"span",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_38my" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
"Campaign Details",
null,
React.createElement("span", { className: "_c1c" })
);
}
if (props.x === 265) {
return React.createElement(
"span",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_38my" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
[React.createElement(
"span",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ key: 1 },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
"Campaign ID",
": ",
"98010048849317"
), React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_5lh9", key: 2 },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(FluxContainer_AdsCampaignGroupStatusSwitchContainer_119, { x: 264 })
)],
null,
React.createElement("span", { className: "_c1c" })
);
}
};
var XUICardSection101 = function (props) {
if (props.x === 228) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_5dw9 _5dwa _4-u3" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
[React.createElement(XUICardHeaderTitle100, { x: 227, key: ".0" })],
undefined,
undefined,
React.createElement("div", { className: "_3s3-" })
);
}
if (props.x === 247) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_12jy _4-u3" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_3-8j" },
React.createElement(FlexibleBlock105, { x: 233 }),
React.createElement(FlexibleBlock105, { x: 236 }),
React.createElement(FlexibleBlock105, { x: 246 }),
null,
null
)
);
}
};
var XUICardHeader102 = function (props) {
if (props.x === 229) {
return React.createElement(XUICardSection101, { x: 228 });
}
};
var AdsCardHeader103 = function (props) {
if (props.x === 230) {
return React.createElement(XUICardHeader102, { x: 229 });
}
};
var AdsLabeledField104 = function (props) {
if (props.x === 231) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_2oc6 _3bvz", label: "Objective" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"label",
{ className: "_4el4 _3qwj _3hy-", htmlFor: undefined },
"Objective "
),
null,
React.createElement("div", { className: "_3bv-" })
);
}
if (props.x === 234) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_2oc6 _3bvz", label: "Buying Type" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"label",
{ className: "_4el4 _3qwj _3hy-", htmlFor: undefined },
"Buying Type "
),
null,
React.createElement("div", { className: "_3bv-" })
);
}
if (props.x === 240) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_2oc6 _3bvz" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"label",
{ className: "_4el4 _3qwj _3hy-", htmlFor: undefined },
"Campaign Spending Limit "
),
React.createElement(AdsHelpLink63, { x: 239 }),
React.createElement("div", { className: "_3bv-" })
);
}
};
var FlexibleBlock105 = function (props) {
if (props.x === 233) {
return React.createElement(LeftRight21, { x: 232 });
}
if (props.x === 236) {
return React.createElement(LeftRight21, { x: 235 });
}
if (props.x === 246) {
return React.createElement(LeftRight21, { x: 245 });
}
};
var AdsBulkCampaignSpendCapField106 = function (props) {
if (props.x === 243) {
return React.createElement(
"div",
{ className: "_33dv" },
"",
React.createElement(Link2, { x: 242 }),
" (optional)"
);
}
};
var FluxContainer_AdsCampaignGroupSpendCapContainer_107 = function (props) {
if (props.x === 244) {
return React.createElement(AdsBulkCampaignSpendCapField106, { x: 243 });
}
};
var AdsCardSection108 = function (props) {
if (props.x === 248) {
return React.createElement(XUICardSection101, { x: 247 });
}
};
var AdsEditorCampaignGroupDetailsSection109 = function (props) {
if (props.x === 252) {
return React.createElement(AdsCard95, { x: 251 });
}
};
var AdsEditorCampaignGroupDetailsSectionContainer110 = function (props) {
if (props.x === 253) {
return React.createElement(AdsEditorCampaignGroupDetailsSection109, { x: 252, key: "campaignGroupDetailsSection98010048849317" });
}
};
var _render111 = function (props) {
if (props.x === 254) {
return React.createElement(AdsEditorCampaignGroupDetailsSectionContainer110, { x: 253 });
}
};
var FluxContainer_AdsEditorToplineDetailsSectionContainer_112 = function (props) {
if (props.x === 256) {
return null;
}
};
var _render113 = function (props) {
if (props.x === 257) {
return React.createElement(FluxContainer_AdsEditorToplineDetailsSectionContainer_112, { x: 256 });
}
};
var AdsStickyArea114 = function (props) {
if (props.x === 259) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ },
React.createElement("div", { onWheel: function () {} })
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
);
}
if (props.x === 292) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ onWheel: function () {} },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
[React.createElement(
"div",
{ key: "campaign_group_errors_section98010048849317" },
React.createElement(AdsPluginWrapper99, { x: 291 })
)]
)
);
}
};
var FluxContainer_AdsEditorColumnContainer_115 = function (props) {
if (props.x === 260) {
return React.createElement(
"div",
null,
[React.createElement(
"div",
{ key: "campaign_group_name_section98010048849317" },
React.createElement(AdsPluginWrapper99, { x: 226 })
), React.createElement(
"div",
{ key: "campaign_group_basic_section98010048849317" },
React.createElement(AdsPluginWrapper99, { x: 255 })
), React.createElement(
"div",
{ key: "campaign_group_topline_section98010048849317" },
React.createElement(AdsPluginWrapper99, { x: 258 })
)],
React.createElement(AdsStickyArea114, { x: 259 })
);
}
if (props.x === 293) {
return React.createElement(
"div",
null,
[React.createElement(
"div",
{ key: "campaign_group_navigation_section98010048849317" },
React.createElement(AdsPluginWrapper99, { x: 287 })
)],
React.createElement(AdsStickyArea114, { x: 292 })
);
}
};
var BUISwitch116 = function (props) {
if (props.x === 261) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ "data-hover": "tooltip", "data-tooltip-content": "Currently active. Click this switch to deactivate it.", "data-tooltip-position": "below", disabled: false, value: true, onToggle: function () {}, className: "_128j _128k _128n", role: "checkbox", "aria-checked": "true" },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_128o", onClick: function () {}, onKeyDown: function () {}, onMouseDown: function () {}, tabIndex: "0" },
React.createElement("div", { className: "_128p" })
),
null
);
}
};
var AdsStatusSwitchInternal117 = function (props) {
if (props.x === 262) {
return React.createElement(BUISwitch116, { x: 261 });
}
};
var AdsStatusSwitch118 = function (props) {
if (props.x === 263) {
return React.createElement(AdsStatusSwitchInternal117, { x: 262 });
}
};
var FluxContainer_AdsCampaignGroupStatusSwitchContainer_119 = function (props) {
if (props.x === 264) {
return React.createElement(AdsStatusSwitch118, { x: 263, key: "status98010048849317" });
}
};
var AdsLinksMenu120 = function (props) {
if (props.x === 275) {
return React.createElement(ReactPopoverMenu20, { x: 274 });
}
};
var FluxContainer_AdsPluginizedLinksMenuContainer_121 = function (props) {
if (props.x === 276) {
return React.createElement(
"div",
null,
null,
React.createElement(AdsLinksMenu120, { x: 275 })
);
}
};
var AdsCardLeftRightHeader122 = function (props) {
if (props.x === 278) {
return React.createElement(LeftRight21, { x: 277 });
}
};
var AdsPEIDSection123 = function (props) {
if (props.x === 282) {
return React.createElement(AdsCard95, { x: 281 });
}
};
var FluxContainer_AdsPECampaignGroupIDSectionContainer_124 = function (props) {
if (props.x === 283) {
return React.createElement(AdsPEIDSection123, { x: 282 });
}
};
var DeferredComponent125 = function (props) {
if (props.x === 284) {
return React.createElement(FluxContainer_AdsPECampaignGroupIDSectionContainer_124, { x: 283 });
}
};
var BootloadedComponent126 = function (props) {
if (props.x === 285) {
return React.createElement(DeferredComponent125, { x: 284 });
}
};
var _render127 = function (props) {
if (props.x === 286) {
return React.createElement(BootloadedComponent126, { x: 285 });
}
};
var AdsEditorErrorsCard128 = function (props) {
if (props.x === 288) {
return null;
}
};
var FluxContainer_FunctionalContainer_129 = function (props) {
if (props.x === 289) {
return React.createElement(AdsEditorErrorsCard128, { x: 288 });
}
};
var _render130 = function (props) {
if (props.x === 290) {
return React.createElement(FluxContainer_FunctionalContainer_129, { x: 289 });
}
};
var AdsEditorMultiColumnLayout131 = function (props) {
if (props.x === 294) {
return React.createElement(
"div",
{ className: "_psh" },
React.createElement(
"div",
{ className: "_3cc0" },
React.createElement(
"div",
null,
React.createElement(AdsEditorLoadingErrors90, { x: 215, key: ".0" }),
React.createElement(
"div",
{ className: "_3ms3" },
React.createElement(
"div",
{ className: "_3ms4" },
React.createElement(FluxContainer_AdsEditorColumnContainer_115, { x: 260, key: ".1" })
),
React.createElement(
"div",
{ className: "_3pvg" },
React.createElement(FluxContainer_AdsEditorColumnContainer_115, { x: 293, key: ".2" })
)
)
)
)
);
}
};
var AdsPECampaignGroupEditor132 = function (props) {
if (props.x === 295) {
return React.createElement(
"div",
null,
React.createElement(AdsPECampaignGroupHeaderSectionContainer89, { x: 214 }),
React.createElement(AdsEditorMultiColumnLayout131, { x: 294 })
);
}
};
var AdsPECampaignGroupEditorContainer133 = function (props) {
if (props.x === 296) {
return React.createElement(AdsPECampaignGroupEditor132, { x: 295 });
}
};
var AdsPESideTrayTabContent134 = function (props) {
if (props.x === 297) {
return React.createElement(
"div",
{ className: "_1o_8 _44ra _5cyn" },
React.createElement(AdsPECampaignGroupEditorContainer133, { x: 296 })
);
}
};
var AdsPEEditorTrayTabContentContainer135 = function (props) {
if (props.x === 298) {
return React.createElement(AdsPESideTrayTabContent134, { x: 297 });
}
};
var AdsPEMultiTabDrawer136 = function (props) {
if (props.x === 299) {
return React.createElement(
"div",
{ className: "_2kev _2kex" },
React.createElement(
"div",
{ className: "_5yno" },
React.createElement(AdsPEEditorTrayTabButton83, { x: 197, key: "editor_tray_button" }),
React.createElement(AdsPEInsightsTrayTabButton84, { x: 202, key: "insights_tray_button" }),
React.createElement(AdsPENekoDebuggerTrayTabButton85, { x: 204, key: "neko_debugger_tray_button" })
),
React.createElement(
"div",
{ className: "_5ynn" },
React.createElement(AdsPEEditorTrayTabContentContainer135, { x: 298, key: "EDITOR_DRAWER" }),
null
)
);
}
};
var FluxContainer_AdsPEMultiTabDrawerContainer_137 = function (props) {
if (props.x === 300) {
return React.createElement(AdsPEMultiTabDrawer136, { x: 299 });
}
};
var AdsPESimpleOrganizer138 = function (props) {
if (props.x === 309) {
return React.createElement(
"div",
{ className: "_tm2" },
React.createElement(XUIButton4, { x: 304 }),
React.createElement(XUIButton4, { x: 306 }),
React.createElement(XUIButton4, { x: 308 })
);
}
};
var AdsPEOrganizerContainer139 = function (props) {
if (props.x === 310) {
return React.createElement(
"div",
null,
React.createElement(AdsPESimpleOrganizer138, { x: 309 })
);
}
};
var FixedDataTableColumnResizeHandle140 = function (props) {
if (props.x === 313) {
return React.createElement(
"div",
{ className: "_3487 _3488 _3489", style: { "width": 0, "height": 25, "left": 0 } },
React.createElement("div", { className: "_348a", style: { "height": 25 } })
);
}
};
var AdsPETableHeader141 = function (props) {
if (props.x === 315) {
return React.createElement(
"div",
{ className: "_1cig _1ksv _1vd7 _4h2r", id: undefined },
React.createElement(ReactImage0, { x: 314 }),
React.createElement(
"span",
{ className: "_1cid" },
"Campaigns"
)
);
}
if (props.x === 320) {
return React.createElement(
"div",
{ className: "_1cig _1vd7 _4h2r", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Performance"
)
);
}
if (props.x === 323) {
return React.createElement(
"div",
{ className: "_1cig _1vd7 _4h2r", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Overview"
)
);
}
if (props.x === 326) {
return React.createElement(
"div",
{ className: "_1cig _1vd7 _4h2r", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Toplines"
)
);
}
if (props.x === 329) {
return React.createElement("div", { className: "_1cig _1vd7 _4h2r", id: undefined });
}
if (props.x === 340) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Campaign Name"
)
);
}
if (props.x === 346) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined, "data-tooltip-content": "Changed", "data-hover": "tooltip" },
React.createElement(ReactImage0, { x: 345 }),
null
);
}
if (props.x === 352) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: "ads_pe_table_error_header", "data-tooltip-content": "Errors", "data-hover": "tooltip" },
React.createElement(ReactImage0, { x: 351 }),
null
);
}
if (props.x === 357) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Status"
)
);
}
if (props.x === 362) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Delivery"
)
);
}
if (props.x === 369) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Results"
)
);
}
if (props.x === 374) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Cost"
)
);
}
if (props.x === 379) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Reach"
)
);
}
if (props.x === 384) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Impressions"
)
);
}
if (props.x === 389) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Clicks"
)
);
}
if (props.x === 394) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Avg. CPM"
)
);
}
if (props.x === 399) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Avg. CPC"
)
);
}
if (props.x === 404) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"CTR %"
)
);
}
if (props.x === 409) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Spent"
)
);
}
if (props.x === 414) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Objective"
)
);
}
if (props.x === 419) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Buying Type"
)
);
}
if (props.x === 424) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Campaign ID"
)
);
}
if (props.x === 429) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Start"
)
);
}
if (props.x === 434) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"End"
)
);
}
if (props.x === 439) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Date created"
)
);
}
if (props.x === 444) {
return React.createElement(
"div",
{ className: "_1cig _25fg", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Date last edited"
)
);
}
if (props.x === 449) {
return React.createElement(
"div",
{ className: "_1cig _25fg _4h2r", id: undefined },
null,
React.createElement(
"span",
{ className: "_1cid" },
"Tags"
)
);
}
if (props.x === 452) {
return React.createElement("div", { className: "_1cig _25fg _4h2r", id: undefined });
}
};
var TransitionCell142 = function (props) {
if (props.x === 316) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Campaigns", height: 40, width: 721, className: "_4lgc _4h2u", style: { "height": 40, "width": 721 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(AdsPETableHeader141, { x: 315 })
)
)
);
}
if (props.x === 321) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Performance", height: 40, width: 798, className: "_4lgc _4h2u", style: { "height": 40, "width": 798 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(AdsPETableHeader141, { x: 320 })
)
)
);
}
if (props.x === 324) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Overview", height: 40, width: 1022, className: "_4lgc _4h2u", style: { "height": 40, "width": 1022 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(AdsPETableHeader141, { x: 323 })
)
)
);
}
if (props.x === 327) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Toplines", height: 40, width: 0, className: "_4lgc _4h2u", style: { "height": 40, "width": 0 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(AdsPETableHeader141, { x: 326 })
)
)
);
}
if (props.x === 330) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "", height: 40, width: 25, className: "_4lgc _4h2u", style: { "height": 40, "width": 25 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(AdsPETableHeader141, { x: 329 })
)
)
);
}
if (props.x === 338) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: undefined, width: 42, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 42 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(XUICheckboxInput60, { x: 337 })
)
)
);
}
if (props.x === 343) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Campaign Name", width: 400, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 400 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 342 })
)
)
);
}
if (props.x === 349) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: undefined, width: 33, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 33 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 348 })
)
)
);
}
if (props.x === 355) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: undefined, width: 36, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 36 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 354 })
)
)
);
}
if (props.x === 360) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Status", width: 60, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 60 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 359 })
)
)
);
}
if (props.x === 365) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Delivery", width: 150, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 150 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 364 })
)
)
);
}
if (props.x === 372) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Results", width: 140, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 140 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 371 })
)
)
);
}
if (props.x === 377) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Cost", width: 140, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 140 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 376 })
)
)
);
}
if (props.x === 382) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Reach", width: 80, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 80 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 381 })
)
)
);
}
if (props.x === 387) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Impressions", width: 80, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 80 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 386 })
)
)
);
}
if (props.x === 392) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Clicks", width: 60, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 60 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 391 })
)
)
);
}
if (props.x === 397) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Avg. CPM", width: 80, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 80 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 396 })
)
)
);
}
if (props.x === 402) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Avg. CPC", width: 78, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 78 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 401 })
)
)
);
}
if (props.x === 407) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "CTR %", width: 70, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 70 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 406 })
)
)
);
}
if (props.x === 412) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Spent", width: 70, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 70 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 411 })
)
)
);
}
if (props.x === 417) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Objective", width: 200, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 200 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 416 })
)
)
);
}
if (props.x === 422) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Buying Type", width: 100, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 100 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 421 })
)
)
);
}
if (props.x === 427) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Campaign ID", width: 120, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 120 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 426 })
)
)
);
}
if (props.x === 432) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Start", width: 113, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 113 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 431 })
)
)
);
}
if (props.x === 437) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "End", width: 113, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 113 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 436 })
)
)
);
}
if (props.x === 442) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Date created", width: 113, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 113 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 441 })
)
)
);
}
if (props.x === 447) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Date last edited", width: 113, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 113 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(FixedDataTableSortableHeader149, { x: 446 })
)
)
);
}
if (props.x === 450) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "Tags", width: 150, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 150 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(AdsPETableHeader141, { x: 449 })
)
)
);
}
if (props.x === 453) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ label: "", width: 25, className: "_4lgc _4h2u", height: 25, style: { "height": 25, "width": 25 } },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(
"div",
{ className: "_4lgd _4h2w" },
React.createElement(
"div",
{ className: "_4lge _4h2x" },
React.createElement(AdsPETableHeader141, { x: 452 })
)
)
);
}
};
var FixedDataTableCell143 = function (props) {
if (props.x === 317) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 40, "width": 721, "left": 0 } },
undefined,
React.createElement(TransitionCell142, { x: 316 })
);
}
if (props.x === 322) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 40, "width": 798, "left": 0 } },
undefined,
React.createElement(TransitionCell142, { x: 321 })
);
}
if (props.x === 325) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 40, "width": 1022, "left": 798 } },
undefined,
React.createElement(TransitionCell142, { x: 324 })
);
}
if (props.x === 328) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 40, "width": 0, "left": 1820 } },
undefined,
React.createElement(TransitionCell142, { x: 327 })
);
}
if (props.x === 331) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 40, "width": 25, "left": 1820 } },
undefined,
React.createElement(TransitionCell142, { x: 330 })
);
}
if (props.x === 339) {
return React.createElement(
"div",
{ className: "_4lg0 _4lg6 _4h2m", style: { "height": 25, "width": 42, "left": 0 } },
undefined,
React.createElement(TransitionCell142, { x: 338 })
);
}
if (props.x === 344) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 400, "left": 42 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 343 })
);
}
if (props.x === 350) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 33, "left": 442 } },
undefined,
React.createElement(TransitionCell142, { x: 349 })
);
}
if (props.x === 356) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 36, "left": 475 } },
undefined,
React.createElement(TransitionCell142, { x: 355 })
);
}
if (props.x === 361) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 60, "left": 511 } },
undefined,
React.createElement(TransitionCell142, { x: 360 })
);
}
if (props.x === 366) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 150, "left": 571 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 365 })
);
}
if (props.x === 373) {
return React.createElement(
"div",
{ className: "_4lg0 _4lg5 _4h2p _4h2m", style: { "height": 25, "width": 140, "left": 0 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 372 })
);
}
if (props.x === 378) {
return React.createElement(
"div",
{ className: "_4lg0 _4lg5 _4h2p _4h2m", style: { "height": 25, "width": 140, "left": 140 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 377 })
);
}
if (props.x === 383) {
return React.createElement(
"div",
{ className: "_4lg0 _4lg5 _4h2p _4h2m", style: { "height": 25, "width": 80, "left": 280 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 382 })
);
}
if (props.x === 388) {
return React.createElement(
"div",
{ className: "_4lg0 _4lg5 _4h2p _4h2m", style: { "height": 25, "width": 80, "left": 360 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 387 })
);
}
if (props.x === 393) {
return React.createElement(
"div",
{ className: "_4lg0 _4lg5 _4h2p _4h2m", style: { "height": 25, "width": 60, "left": 440 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 392 })
);
}
if (props.x === 398) {
return React.createElement(
"div",
{ className: "_4lg0 _4lg5 _4h2p _4h2m", style: { "height": 25, "width": 80, "left": 500 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 397 })
);
}
if (props.x === 403) {
return React.createElement(
"div",
{ className: "_4lg0 _4lg5 _4h2p _4h2m", style: { "height": 25, "width": 78, "left": 580 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 402 })
);
}
if (props.x === 408) {
return React.createElement(
"div",
{ className: "_4lg0 _4lg5 _4h2p _4h2m", style: { "height": 25, "width": 70, "left": 658 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 407 })
);
}
if (props.x === 413) {
return React.createElement(
"div",
{ className: "_4lg0 _4lg5 _4h2p _4h2m", style: { "height": 25, "width": 70, "left": 728 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 412 })
);
}
if (props.x === 418) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 200, "left": 798 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 417 })
);
}
if (props.x === 423) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 100, "left": 998 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 422 })
);
}
if (props.x === 428) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 120, "left": 1098 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 427 })
);
}
if (props.x === 433) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 113, "left": 1218 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 432 })
);
}
if (props.x === 438) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 113, "left": 1331 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 437 })
);
}
if (props.x === 443) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 113, "left": 1444 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 442 })
);
}
if (props.x === 448) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 113, "left": 1557 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 447 })
);
}
if (props.x === 451) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 150, "left": 1670 } },
React.createElement(
"div",
{ className: "_4lg9", style: { "height": 25 }, onMouseDown: function () {} },
React.createElement("div", { className: "_4lga _4lgb", style: { "height": 25 } })
),
React.createElement(TransitionCell142, { x: 450 })
);
}
if (props.x === 454) {
return React.createElement(
"div",
{ className: "_4lg0 _4h2m", style: { "height": 25, "width": 25, "left": 1820 } },
undefined,
React.createElement(TransitionCell142, { x: 453 })
);
}
};
var FixedDataTableCellGroupImpl144 = function (props) {
if (props.x === 318) {
return React.createElement(
"div",
{ className: "_3pzj", style: { "height": 40, "position": "absolute", "width": 721, "zIndex": 2, "transform": "translate3d(0px,0px,0)", "backfaceVisibility": "hidden" } },
React.createElement(FixedDataTableCell143, { x: 317, key: "cell_0" })
);
}
if (props.x === 332) {
return React.createElement(
"div",
{ className: "_3pzj", style: { "height": 40, "position": "absolute", "width": 1845, "zIndex": 0, "transform": "translate3d(0px,0px,0)", "backfaceVisibility": "hidden" } },
React.createElement(FixedDataTableCell143, { x: 322, key: "cell_0" }),
React.createElement(FixedDataTableCell143, { x: 325, key: "cell_1" }),
React.createElement(FixedDataTableCell143, { x: 328, key: "cell_2" }),
React.createElement(FixedDataTableCell143, { x: 331, key: "cell_3" })
);
}
if (props.x === 367) {
return React.createElement(
"div",
{ className: "_3pzj", style: { "height": 25, "position": "absolute", "width": 721, "zIndex": 2, "transform": "translate3d(0px,0px,0)", "backfaceVisibility": "hidden" } },
React.createElement(FixedDataTableCell143, { x: 339, key: "cell_0" }),
React.createElement(FixedDataTableCell143, { x: 344, key: "cell_1" }),
React.createElement(FixedDataTableCell143, { x: 350, key: "cell_2" }),
React.createElement(FixedDataTableCell143, { x: 356, key: "cell_3" }),
React.createElement(FixedDataTableCell143, { x: 361, key: "cell_4" }),
React.createElement(FixedDataTableCell143, { x: 366, key: "cell_5" })
);
}
if (props.x === 455) {
return React.createElement(
"div",
{ className: "_3pzj", style: { "height": 25, "position": "absolute", "width": 1845, "zIndex": 0, "transform": "translate3d(0px,0px,0)", "backfaceVisibility": "hidden" } },
React.createElement(FixedDataTableCell143, { x: 373, key: "cell_0" }),
React.createElement(FixedDataTableCell143, { x: 378, key: "cell_1" }),
React.createElement(FixedDataTableCell143, { x: 383, key: "cell_2" }),
React.createElement(FixedDataTableCell143, { x: 388, key: "cell_3" }),
React.createElement(FixedDataTableCell143, { x: 393, key: "cell_4" }),
React.createElement(FixedDataTableCell143, { x: 398, key: "cell_5" }),
React.createElement(FixedDataTableCell143, { x: 403, key: "cell_6" }),
React.createElement(FixedDataTableCell143, { x: 408, key: "cell_7" }),
React.createElement(FixedDataTableCell143, { x: 413, key: "cell_8" }),
React.createElement(FixedDataTableCell143, { x: 418, key: "cell_9" }),
React.createElement(FixedDataTableCell143, { x: 423, key: "cell_10" }),
React.createElement(FixedDataTableCell143, { x: 428, key: "cell_11" }),
React.createElement(FixedDataTableCell143, { x: 433, key: "cell_12" }),
React.createElement(FixedDataTableCell143, { x: 438, key: "cell_13" }),
React.createElement(FixedDataTableCell143, { x: 443, key: "cell_14" }),
React.createElement(FixedDataTableCell143, { x: 448, key: "cell_15" }),
React.createElement(FixedDataTableCell143, { x: 451, key: "cell_16" }),
React.createElement(FixedDataTableCell143, { x: 454, key: "cell_17" })
);
}
};
var FixedDataTableCellGroup145 = function (props) {
if (props.x === 319) {
return React.createElement(
"div",
{ style: { "height": 40, "left": 0 }, className: "_3pzk" },
React.createElement(FixedDataTableCellGroupImpl144, { x: 318 })
);
}
if (props.x === 333) {
return React.createElement(
"div",
{ style: { "height": 40, "left": 721 }, className: "_3pzk" },
React.createElement(FixedDataTableCellGroupImpl144, { x: 332 })
);
}
if (props.x === 368) {
return React.createElement(
"div",
{ style: { "height": 25, "left": 0 }, className: "_3pzk" },
React.createElement(FixedDataTableCellGroupImpl144, { x: 367 })
);
}
if (props.x === 456) {
return React.createElement(
"div",
{ style: { "height": 25, "left": 721 }, className: "_3pzk" },
React.createElement(FixedDataTableCellGroupImpl144, { x: 455 })
);
}
};
var FixedDataTableRowImpl146 = function (props) {
if (props.x === 334) {
return React.createElement(
"div",
{ className: "_1gd4 _4li _52no _3h1a _1mib", onClick: null, onDoubleClick: null, onMouseDown: null, onMouseEnter: null, onMouseLeave: null, style: { "width": 1209, "height": 40 } },
React.createElement(
"div",
{ className: "_1gd5" },
React.createElement(FixedDataTableCellGroup145, { x: 319, key: "fixed_cells" }),
React.createElement(FixedDataTableCellGroup145, { x: 333, key: "scrollable_cells" }),
React.createElement("div", { className: "_1gd6 _1gd8", style: { "left": 721, "height": 40 } })
)
);
}
if (props.x === 457) {
return React.createElement(
"div",
{ className: "_1gd4 _4li _3h1a _1mib", onClick: null, onDoubleClick: null, onMouseDown: null, onMouseEnter: null, onMouseLeave: null, style: { "width": 1209, "height": 25 } },
React.createElement(
"div",
{ className: "_1gd5" },
React.createElement(FixedDataTableCellGroup145, { x: 368, key: "fixed_cells" }),
React.createElement(FixedDataTableCellGroup145, { x: 456, key: "scrollable_cells" }),
React.createElement("div", { className: "_1gd6 _1gd8", style: { "left": 721, "height": 25 } })
)
);
}
};
var FixedDataTableRow147 = function (props) {
if (props.x === 335) {
return React.createElement(
"div",
{ style: { "width": 1209, "height": 40, "zIndex": 1, "transform": "translate3d(0px,0px,0)", "backfaceVisibility": "hidden" }, className: "_1gda" },
React.createElement(FixedDataTableRowImpl146, { x: 334 })
);
}
if (props.x === 458) {
return React.createElement(
"div",
{ style: { "width": 1209, "height": 25, "zIndex": 1, "transform": "translate3d(0px,40px,0)", "backfaceVisibility": "hidden" }, className: "_1gda" },
React.createElement(FixedDataTableRowImpl146, { x: 457 })
);
}
};
var FixedDataTableAbstractSortableHeader148 = function (props) {
if (props.x === 341) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 340 })
)
);
}
if (props.x === 347) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _1kst _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 346 })
)
);
}
if (props.x === 353) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _1kst _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 352 })
)
);
}
if (props.x === 358) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 357 })
)
);
}
if (props.x === 363) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _54_9 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 362 })
)
);
}
if (props.x === 370) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 369 })
)
);
}
if (props.x === 375) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 374 })
)
);
}
if (props.x === 380) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 379 })
)
);
}
if (props.x === 385) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 384 })
)
);
}
if (props.x === 390) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 389 })
)
);
}
if (props.x === 395) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 394 })
)
);
}
if (props.x === 400) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 399 })
)
);
}
if (props.x === 405) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 404 })
)
);
}
if (props.x === 410) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 409 })
)
);
}
if (props.x === 415) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 414 })
)
);
}
if (props.x === 420) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 419 })
)
);
}
if (props.x === 425) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 424 })
)
);
}
if (props.x === 430) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 429 })
)
);
}
if (props.x === 435) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 434 })
)
);
}
if (props.x === 440) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 439 })
)
);
}
if (props.x === 445) {
return React.createElement(
"div",
{ onClick: function () {}, className: "_54_8 _4h2r _2wzx" },
React.createElement(
"div",
{ className: "_2eq6" },
null,
React.createElement(AdsPETableHeader141, { x: 444 })
)
);
}
};
var FixedDataTableSortableHeader149 = function (props) {
if (props.x === 342) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 341 });
}
if (props.x === 348) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 347 });
}
if (props.x === 354) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 353 });
}
if (props.x === 359) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 358 });
}
if (props.x === 364) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 363 });
}
if (props.x === 371) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 370 });
}
if (props.x === 376) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 375 });
}
if (props.x === 381) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 380 });
}
if (props.x === 386) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 385 });
}
if (props.x === 391) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 390 });
}
if (props.x === 396) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 395 });
}
if (props.x === 401) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 400 });
}
if (props.x === 406) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 405 });
}
if (props.x === 411) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 410 });
}
if (props.x === 416) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 415 });
}
if (props.x === 421) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 420 });
}
if (props.x === 426) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 425 });
}
if (props.x === 431) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 430 });
}
if (props.x === 436) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 435 });
}
if (props.x === 441) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 440 });
}
if (props.x === 446) {
return React.createElement(FixedDataTableAbstractSortableHeader148, { x: 445 });
}
};
var FixedDataTableBufferedRows150 = function (props) {
if (props.x === 459) {
return React.createElement("div", { style: { "position": "absolute", "pointerEvents": "auto", "transform": "translate3d(0px,65px,0)", "backfaceVisibility": "hidden" } });
}
};
var Scrollbar151 = function (props) {
if (props.x === 460) {
return null;
}
if (props.x === 461) {
return React.createElement(
"div",
{ onFocus: function () {}, onBlur: function () {}, onKeyDown: function () {}, onMouseDown: function () {}, onWheel: function () {}, className: "_1t0r _1t0t _4jdr _1t0u", style: { "width": 1209, "zIndex": 99 }, tabIndex: 0 },
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement("div", { className: "_1t0w _1t0y _1t0_", style: { "width": 561.6340607950117, "transform": "translate3d(4px,0px,0)", "backfaceVisibility": "hidden" } })
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
);
}
};
var HorizontalScrollbar152 = function (props) {
if (props.x === 462) {
return React.createElement(
"div",
{ className: "_3h1k _3h1m", style: { "height": 15, "width": 1209 } },
React.createElement(
"div",
{ style: { "height": 15, "position": "absolute", "overflow": "hidden", "width": 1209, "transform": "translate3d(0px,0px,0)", "backfaceVisibility": "hidden" } },
React.createElement(Scrollbar151, { x: 461 })
)
);
}
};
var FixedDataTable153 = function (props) {
if (props.x === 463) {
return React.createElement(
"div",
{ className: "_3h1i _1mie", onWheel: function () {}, style: { "height": 25, "width": 1209 } },
React.createElement(
"div",
{ className: "_3h1j", style: { "height": 8, "width": 1209 } },
React.createElement(FixedDataTableColumnResizeHandle140, { x: 313 }),
React.createElement(FixedDataTableRow147, { x: 335, key: "group_header" }),
React.createElement(FixedDataTableRow147, { x: 458, key: "header" }),
React.createElement(FixedDataTableBufferedRows150, { x: 459 }),
null,
undefined,
React.createElement("div", { className: "_3h1e _3h1h", style: { "top": 8 } })
),
React.createElement(Scrollbar151, { x: 460 }),
React.createElement(HorizontalScrollbar152, { x: 462 })
);
}
};
var TransitionTable154 = function (props) {
if (props.x === 464) {
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
return React.createElement(FixedDataTable153, { x: 463 });
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
}
};
var AdsSelectableFixedDataTable155 = function (props) {
if (props.x === 465) {
return React.createElement(
"div",
{ className: "_5hht" },
React.createElement(TransitionTable154, { x: 464 })
);
}
};
var AdsDataTableKeyboardSupportDecorator156 = function (props) {
if (props.x === 466) {
return React.createElement(
"div",
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
{ className: "_5d6f", tabIndex: "0", onKeyDown: function () {} },
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
React.createElement(AdsSelectableFixedDataTable155, { x: 465 })
);
}
};
var AdsEditableDataTableDecorator157 = function (props) {
if (props.x === 467) {
return React.createElement(
"div",
{ onCopy: function () {} },
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement(AdsDataTableKeyboardSupportDecorator156, { x: 466 })
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
);
}
};
var AdsPEDataTableContainer158 = function (props) {
if (props.x === 468) {
return React.createElement(
"div",
{ className: "_35l_ _1hr clearfix" },
null,
null,
null,
React.createElement(AdsEditableDataTableDecorator157, { x: 467 })
);
}
};
var AdsPECampaignGroupTableContainer159 = function (props) {
if (props.x === 470) {
return React.createElement(ResponsiveBlock37, { x: 469 });
}
};
var AdsPEManageAdsPaneContainer160 = function (props) {
if (props.x === 473) {
return React.createElement(
"div",
null,
React.createElement(AdsErrorBoundary10, { x: 65 }),
React.createElement(
"div",
{ className: "_2uty" },
React.createElement(AdsErrorBoundary10, { x: 125 })
),
React.createElement(
"div",
{ className: "_2utx _21oc" },
React.createElement(AdsErrorBoundary10, { x: 171 }),
React.createElement(
"div",
{ className: "_41tu" },
React.createElement(AdsErrorBoundary10, { x: 176 }),
React.createElement(AdsErrorBoundary10, { x: 194 })
)
),
React.createElement(
"div",
{ className: "_2utz", style: { "height": 25 } },
React.createElement(AdsErrorBoundary10, { x: 302 }),
React.createElement(
"div",
{ className: "_2ut-" },
React.createElement(AdsErrorBoundary10, { x: 312 })
),
React.createElement(
"div",
{ className: "_2ut_" },
React.createElement(AdsErrorBoundary10, { x: 472 })
)
)
);
}
};
var AdsPEContentContainer161 = function (props) {
if (props.x === 474) {
return React.createElement(AdsPEManageAdsPaneContainer160, { x: 473 });
}
};
var FluxContainer_AdsPEWorkspaceContainer_162 = function (props) {
if (props.x === 477) {
return React.createElement(
"div",
{ className: "_49wu", style: { "height": 177, "top": 43, "width": 1306 } },
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
React.createElement(ResponsiveBlock37, { x: 62, key: '0' }),
React.createElement(AdsErrorBoundary10, { x: 476, key: '1' }),
Update benchmarks to be more realistic polymorphically (#7255) Previously, the extract-components script would create the same number of layers of composites as the page it captures, but it would output a new class for each time any composite is used (since we don't want to replicate all the component logic). I changed the script to output a single type for each type in the input -- and each generated component takes an index for which output it should return. This should be closer to how the original code behaves, especially with respect to VM function call lookups where the amount of polymorphism makes a difference. I re-recorded the benchmarks with the new scripts. They run significantly faster: ``` Comparing old.txt (control) vs new.txt (test) Significant differences marked by *** % change from control to test, with 99% CIs: * ssr_pe_cold_ms_jsc_jit % change: -41.73% [-43.37%, -40.09%] *** means: 39.3191 (control), 22.9127 (test) * ssr_pe_cold_ms_jsc_nojit % change: -44.24% [-46.69%, -41.80%] *** means: 45.8646 (control), 25.5764 (test) * ssr_pe_cold_ms_node % change: -45.61% [-47.38%, -43.85%] *** means: 90.1118 (control), 49.0116 (test) ``` This is probably in part due to the changes here, but also the page I captured has changed somewhat in the meantime and there seem to be slightly fewer components in the hierarchy, so they're not really comparable. But going forward we can use this benchmark which should be more accurate. I also included an identical copy that uses stateless functional components so we can test optimizations to those later.
2016-07-13 10:32:51 +08:00
null
);
}
};
var FluxContainer_AdsSessionExpiredDialogContainer_163 = function (props) {
if (props.x === 478) {
return null;
}
};
var FluxContainer_AdsPEUploadDialogLazyContainer_164 = function (props) {
if (props.x === 479) {
return null;
}
};
var FluxContainer_DialogContainer_165 = function (props) {
if (props.x === 480) {
return null;
}
};
var AdsBugReportContainer166 = function (props) {
if (props.x === 481) {
return React.createElement("span", null);
}
};
var AdsPEAudienceSplittingDialog167 = function (props) {
if (props.x === 482) {
return null;
}
};
var AdsPEAudienceSplittingDialogContainer168 = function (props) {
if (props.x === 483) {
return React.createElement(
"div",
null,
React.createElement(AdsPEAudienceSplittingDialog167, { x: 482 })
);
}
};
var FluxContainer_AdsRuleDialogBootloadContainer_169 = function (props) {
if (props.x === 484) {
return null;
}
};
var FluxContainer_AdsPECFTrayContainer_170 = function (props) {
if (props.x === 485) {
return null;
}
};
var FluxContainer_AdsPEDeleteDraftContainer_171 = function (props) {
if (props.x === 486) {
return null;
}
};
var FluxContainer_AdsPEInitialDraftPublishDialogContainer_172 = function (props) {
if (props.x === 487) {
return null;
}
};
var FluxContainer_AdsPEReachFrequencyStatusTransitionDialogBootloadContainer_173 = function (props) {
if (props.x === 488) {
return null;
}
};
var FluxContainer_AdsPEPurgeArchiveDialogContainer_174 = function (props) {
if (props.x === 489) {
return null;
}
};
var AdsPECreateDialogContainer175 = function (props) {
if (props.x === 490) {
return React.createElement("span", null);
}
};
var FluxContainer_AdsPEModalStatusContainer_176 = function (props) {
if (props.x === 491) {
return null;
}
};
var FluxContainer_AdsBrowserExtensionErrorDialogContainer_177 = function (props) {
if (props.x === 492) {
return null;
}
};
var FluxContainer_AdsPESortByErrorTipContainer_178 = function (props) {
if (props.x === 493) {
return null;
}
};
var LeadDownloadDialogSelector179 = function (props) {
if (props.x === 494) {
return null;
}
};
var FluxContainer_AdsPELeadDownloadDialogContainerClass_180 = function (props) {
if (props.x === 495) {
return React.createElement(LeadDownloadDialogSelector179, { x: 494 });
}
};
var AdsPEContainer181 = function (props) {
if (props.x === 496) {
return React.createElement(
"div",
{ id: "ads_pe_container" },
React.createElement(FluxContainer_AdsPETopNavContainer_26, { x: 41 }),
null,
React.createElement(FluxContainer_AdsPEWorkspaceContainer_162, { x: 477 }),
React.createElement(FluxContainer_AdsSessionExpiredDialogContainer_163, { x: 478 }),
React.createElement(FluxContainer_AdsPEUploadDialogLazyContainer_164, { x: 479 }),
React.createElement(FluxContainer_DialogContainer_165, { x: 480 }),
React.createElement(AdsBugReportContainer166, { x: 481 }),
React.createElement(AdsPEAudienceSplittingDialogContainer168, { x: 483 }),
React.createElement(FluxContainer_AdsRuleDialogBootloadContainer_169, { x: 484 }),
React.createElement(FluxContainer_AdsPECFTrayContainer_170, { x: 485 }),
React.createElement(
"span",
null,
React.createElement(FluxContainer_AdsPEDeleteDraftContainer_171, { x: 486 }),
React.createElement(FluxContainer_AdsPEInitialDraftPublishDialogContainer_172, { x: 487 }),
React.createElement(FluxContainer_AdsPEReachFrequencyStatusTransitionDialogBootloadContainer_173, { x: 488 })
),
React.createElement(FluxContainer_AdsPEPurgeArchiveDialogContainer_174, { x: 489 }),
React.createElement(AdsPECreateDialogContainer175, { x: 490 }),
React.createElement(FluxContainer_AdsPEModalStatusContainer_176, { x: 491 }),
React.createElement(FluxContainer_AdsBrowserExtensionErrorDialogContainer_177, { x: 492 }),
React.createElement(FluxContainer_AdsPESortByErrorTipContainer_178, { x: 493 }),
React.createElement(FluxContainer_AdsPELeadDownloadDialogContainerClass_180, { x: 495 }),
React.createElement("div", { id: "web_ads_guidance_tips" })
);
}
};
var Benchmark = function (props) {
if (props.x === undefined) {
return React.createElement(AdsPEContainer181, { x: 496 });
}
};
Add React benchmarking infrastructure (#9465) * Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
2017-05-10 00:13:54 +08:00
var app = document.getElementById('app');
window.render = function render() {
ReactDOM.render(React.createElement(Benchmark, null), app);
}
})();