diff options
author | Anatoli Papirovski <anatoli.papirovski@postmates.com> | 2019-06-06 09:18:41 +0200 |
---|---|---|
committer | Anatoli Papirovski <anatoli.papirovski@postmates.com> | 2019-06-10 07:49:40 +0200 |
commit | cde3928a10627510ae0aee7728e5498a95235482 (patch) | |
tree | 71d6d5ffc1e0db0e4e40df82d9a3204e563bb82e /lib/internal/process | |
parent | 5bad51406dfd49c62d9960508834627d67fbf229 (diff) | |
download | android-node-v8-cde3928a10627510ae0aee7728e5498a95235482.tar.gz android-node-v8-cde3928a10627510ae0aee7728e5498a95235482.tar.bz2 android-node-v8-cde3928a10627510ae0aee7728e5498a95235482.zip |
process: improve queueMicrotask performance
Optimize the hot code paths of queueMicrotask by
not creating unnecessary objects, not looking up
properties on frozen primordials, etc.
PR-URL: https://github.com/nodejs/node/pull/28093
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'lib/internal/process')
-rw-r--r-- | lib/internal/process/task_queues.js | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/internal/process/task_queues.js b/lib/internal/process/task_queues.js index 1f203c86ed..34e925aaf5 100644 --- a/lib/internal/process/task_queues.js +++ b/lib/internal/process/task_queues.js @@ -128,15 +128,13 @@ function nextTick(callback) { } let AsyncResource; +const defaultMicrotaskResourceOpts = { requireManualDestroy: true }; function createMicrotaskResource() { // Lazy load the async_hooks module - if (!AsyncResource) { + if (AsyncResource === undefined) { AsyncResource = require('async_hooks').AsyncResource; } - return new AsyncResource('Microtask', { - triggerAsyncId: getDefaultTriggerAsyncId(), - requireManualDestroy: true, - }); + return new AsyncResource('Microtask', defaultMicrotaskResourceOpts); } function runMicrotask() { |