process: improve queueMicrotask performance
Optimize the hot code paths of queueMicrotask by not creating unnecessary objects, not looking up properties on frozen primordials, etc.
Benchmark: https://ci.nodejs.org/job/benchmark-node-micro-benchmarks/389/
confidence improvement accuracy (*) (**) (***)
process/queue-microtask-breadth.js n=400000 *** 3.91 % ±1.28% ±1.69% ±2.17%
process/queue-microtask-depth.js n=1200000 *** 16.19 % ±0.84% ±1.11% ±1.42%
That said, this is what I get locally so I figure the system makes a difference:
confidence improvement accuracy (*) (**) (***)
process/queue-microtask-breadth.js n=400000 *** 49.12 % ±2.95% ±3.93% ±5.12%
process/queue-microtask-depth.js n=1200000 *** 18.32 % ±1.47% ±1.96% ±2.55%
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
tests and/or benchmarks are included -
documentation is changed or added -
commit message follows commit guidelines