From cde3928a10627510ae0aee7728e5498a95235482 Mon Sep 17 00:00:00 2001 From: Anatoli Papirovski Date: Thu, 6 Jun 2019 09:18:41 +0200 Subject: 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 Reviewed-By: Gus Caplan Reviewed-By: Matteo Collina --- lib/internal/process/task_queues.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'lib/internal/process') 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() { -- cgit v1.2.3