angular-cn/goldens/size-tracking/integration-payloads.json
JiaLiPassion 5e92d649f2 feat(core): add shouldCoalesceRunChangeDetection option to coalesce change detections in the same event loop. (#39422)
Close #39348

Now `NgZone` has an option `shouldCoalesceEventChangeDetection` to coalesce
multiple event handler's change detections to one async change detection.

And there are some cases other than `event handler` have the same issues.
In #39348, the case like this.

```
// This code results in one change detection occurring per
// ngZone.run() call. This is entirely feasible, and can be a serious
// performance issue.
for (let i = 0; i < 100; i++) {
  this.ngZone.run(() => {
    // do something
  });
}
```

So such kind of case will trigger multiple change detections.
And now with Ivy, we have a new `markDirty()` API will schedule
a requestAnimationFrame to trigger change detection and also coalesce
the change detections in the same event loop, `markDirty()` API doesn't
only take care `event handler` but also all other cases `sync/macroTask/..`

So this PR add a new option to coalesce change detections for all cases.

test(core): add test case for shouldCoalesceEventChangeDetection option

Add new test cases for current `shouldCoalesceEventChangeDetection` in `ng_zone.spec`, since
currently we only have integration test for this one.

PR Close #39422
2020-11-16 08:58:50 -08:00

70 lines
1.9 KiB
JSON

{
"cli-hello-world": {
"master": {
"uncompressed": {
"runtime-es2015": 1485,
"main-es2015": 141516,
"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": 147252,
"polyfills-es2015": 36964
}
}
},
"cli-hello-world-ivy-i18n": {
"master": {
"uncompressed": {
"runtime-es2015": 1485,
"main-es2015": 136703,
"polyfills-es2015": 37641
}
}
},
"cli-hello-world-lazy": {
"master": {
"uncompressed": {
"runtime-es2015": 2285,
"main-es2015": 242417,
"polyfills-es2015": 36709,
"5-es2015": 745
}
}
},
"cli-hello-world-lazy-rollup": {
"master": {
"uncompressed": {
"runtime-es2015": 2289,
"main-es2015": 218507,
"polyfills-es2015": 36723,
"5-es2015": 781
}
}
},
"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
}
}
}
}