mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
7fb4309cca
This commit makes several changes to the implementation of `NgForOf` to reduce its code size in production builds: 1. The tailor-made message for an unsupported differ is fully tree-shaken in production builds, in favor of the exception from the differ factory itself. 2. The private `_perViewChange` method was changed into a free-standing function, to allow its name to be minimized. 3. The need for an intermediate `RecordViewTuple` was avoided by applying the operation in-place, instead of collecting all insertions into a buffer first. This is safe as the `_perViewChange` operation that used to be done on each `RecordViewTuple` is entirely local to the tuple itself. Hence, it is invariant to execution ordering which means that the `_perViewChange` can be executed directly during the `forEachOperation` loop. PR Close #44315
72 lines
2.1 KiB
JSON
72 lines
2.1 KiB
JSON
{
|
|
"cli-hello-world": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime": 1083,
|
|
"main": 138071,
|
|
"polyfills": 36964
|
|
}
|
|
}
|
|
},
|
|
"cli-hello-world-ivy-minimal": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime": 1107,
|
|
"main": "TODO(i): temporarily increase the payload size limit from 17597 - this needs to be investigate further what caused the increase.",
|
|
"main": "Likely there is a missing PURE annotation https://github.com/angular/angular/pull/43344",
|
|
"main": "Tracking issue: https://github.com/angular/angular/issues/43568",
|
|
"main": 20409,
|
|
"polyfills": 37250
|
|
}
|
|
}
|
|
},
|
|
"cli-hello-world-ivy-compat": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime": 1105,
|
|
"main": 144185,
|
|
"polyfills": 36939
|
|
}
|
|
}
|
|
},
|
|
"cli-hello-world-ivy-i18n": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime": 929,
|
|
"main": 136770,
|
|
"polyfills": 37933
|
|
}
|
|
}
|
|
},
|
|
"cli-hello-world-lazy": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime": 2843,
|
|
"main": 230506,
|
|
"polyfills": 37064,
|
|
"src_app_lazy_lazy_module_ts": 795
|
|
}
|
|
}
|
|
},
|
|
"forms": {
|
|
"master": {
|
|
"uncompressed": {
|
|
"runtime": 1063,
|
|
"main": 162474,
|
|
"polyfills": 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
|
|
}
|
|
}
|
|
}
|
|
}
|