Introduces an **internal**, **experimental** `profiler` function, which the runtime invokes around user code, including before and after: - Running the template function of a component - Executing a lifecycle hook - Evaluating an output handler The `profiler` function invokes a callback set with the global `ng.ɵsetProfiler`. This API is **private** and **experimental** and could be removed or changed at any time. This implementation is cheap and available in production. It's cheap because the `profiler` function is simple, which allows the JiT compiler to inline it in the callsites. It also doesn't add up much to the production bundle. To listen for profiler events: ```ts ng.ɵsetProfiler((event, ...args) => { // monitor user code execution }); ``` PR Close #41255
79 lines
2.1 KiB
JSON
79 lines
2.1 KiB
JSON
{
|
|
"cli-hello-world": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime-es2015": 1485,
|
|
"main-es2015": 138189,
|
|
"polyfills-es2015": 36964
|
|
}
|
|
}
|
|
},
|
|
"cli-hello-world-ivy-minimal": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime-es2015": 1485,
|
|
"main-es2015": 17597,
|
|
"polyfills-es2015": 36709
|
|
}
|
|
}
|
|
},
|
|
"cli-hello-world-ivy-compat": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime-es2015": 1485,
|
|
"main-es2015": 144579,
|
|
"polyfills-es2015": 36964
|
|
}
|
|
}
|
|
},
|
|
"cli-hello-world-ivy-i18n": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime-es2015": 1485,
|
|
"main-es2015": 136546,
|
|
"polyfills-es2015": 37641
|
|
}
|
|
}
|
|
},
|
|
"cli-hello-world-lazy": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime-es2015": 2285,
|
|
"main-es2015": 240883,
|
|
"polyfills-es2015": 36975,
|
|
"5-es2015": 753
|
|
}
|
|
}
|
|
},
|
|
"cli-hello-world-lazy-rollup": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime-es2015": 2289,
|
|
"main-es2015": 216267,
|
|
"polyfills-es2015": 36723,
|
|
"5-es2015": 781
|
|
}
|
|
}
|
|
},
|
|
"forms": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime-es2015": 1485,
|
|
"main-es2015": 162346,
|
|
"polyfills-es2015": 36975
|
|
}
|
|
}
|
|
},
|
|
"hello_world__closure": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"bundle": "TODO(i): temporarily increase the payload size limit from 105779 - this is due to a closure issue related to ESM reexports that still needs to be investigated",
|
|
"bundle": "TODO(i): we should define ngDevMode to false in Closure, but --define only works in the global scope.",
|
|
"bundle": "TODO(i): (FW-2164) TS 3.9 new class shape seems to have broken Closure in big ways. The size went from 169991 to 252338",
|
|
"bundle": "TODO(i): after removal of tsickle from ngc-wrapped / ng_package, we had to switch to SIMPLE optimizations which increased the size from 252338 to 1198917, see PR#37221 and PR#37317 for more info",
|
|
"bundle": 1214857
|
|
}
|
|
}
|
|
}
|
|
}
|