From 561dda273fc6590d998b2af0cf0c63654c679d48 Mon Sep 17 00:00:00 2001 From: Andrey Pechkurov Date: Sun, 22 Mar 2020 21:53:52 +0300 Subject: async_hooks: move to lazy destroy hook registration in AsyncResource MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/32429 Reviewed-By: Gerhard Stöbich Reviewed-By: Vladimir de Turckheim --- benchmark/async_hooks/gc-tracking.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'benchmark') diff --git a/benchmark/async_hooks/gc-tracking.js b/benchmark/async_hooks/gc-tracking.js index 030b5f8e193..4a59a5a4b65 100644 --- a/benchmark/async_hooks/gc-tracking.js +++ b/benchmark/async_hooks/gc-tracking.js @@ -1,11 +1,12 @@ 'use strict'; const common = require('../common.js'); -const { AsyncResource } = require('async_hooks'); +const { createHook, AsyncResource } = require('async_hooks'); const bench = common.createBenchmark(main, { n: [1e6], method: [ 'trackingEnabled', + 'trackingEnabledWithDestroyHook', 'trackingDisabled', ] }, { @@ -30,6 +31,14 @@ function main({ n, method }) { } endAfterGC(n); break; + case 'trackingEnabledWithDestroyHook': + createHook({ destroy: () => {} }).enable(); + bench.start(); + for (let i = 0; i < n; i++) { + new AsyncResource('foobar'); + } + endAfterGC(n); + break; case 'trackingDisabled': bench.start(); for (let i = 0; i < n; i++) { -- cgit v1.2.3