Apply idle optimizations throughout code base

Summary:
See explanation in parent diff, make sure the idler is used efficiently, instead of wasting a lot of CPU creating a new callstack every time `idle` is called.

Also fixed that cancelled idlers could result in an _uncaught_ exception

Reviewed By: nikoant

Differential Revision: D19158593

fbshipit-source-id: 0be505a74c374e0ca6ee0e79b1f1e98ac9b80467
This commit is contained in:
Michel Weststrate
2019-12-19 04:25:44 -08:00
committed by Facebook Github Bot
parent 0a5df48639
commit bc36c1607d
2 changed files with 3 additions and 3 deletions

View File

@@ -136,7 +136,7 @@ export async function makeObjectSerializable(
let prevStackLength = stack.length;
let accumulator = prevStackLength;
while (stack.length > 0) {
if (idler) {
if (idler && idler.shouldIdle()) {
await idler.idle();
}
const element = stack[stack.length - 1];