diff --git a/packages/benchmark.js-plugin/src/index.ts b/packages/benchmark.js-plugin/src/index.ts index 0fdfbed..e869363 100644 --- a/packages/benchmark.js-plugin/src/index.ts +++ b/packages/benchmark.js-plugin/src/index.ts @@ -164,35 +164,31 @@ async function runBenchmarks({ const bench = benches[i]; const uri = baseUri + "::" + (bench.name ?? `unknown_${i}`); const isAsync = bench.options.async || bench.options.defer; - let benchPayload; + let __codspeed_root_frame__; if (bench.options.defer) { - benchPayload = () => { + __codspeed_root_frame__ = () => { return new Promise((resolve, reject) => { (bench.fn as CallableFunction)({ resolve, reject }); }); }; } else if (bench.options.async) { - benchPayload = async () => { + __codspeed_root_frame__ = async () => { await (bench.fn as CallableFunction)(); }; } else { - benchPayload = bench.fn as CallableFunction; + __codspeed_root_frame__ = bench.fn as CallableFunction; } if (isAsync) { - await optimizeFunction(benchPayload); - await (async function __codspeed_root_frame__() { - measurement.startInstrumentation(); - await benchPayload(); - measurement.stopInstrumentation(uri); - })(); + await optimizeFunction(__codspeed_root_frame__); + measurement.startInstrumentation(); + await __codspeed_root_frame__(); + measurement.stopInstrumentation(uri); } else { - optimizeFunctionSync(benchPayload); - (function __codspeed_root_frame__() { - measurement.startInstrumentation(); - benchPayload(); - measurement.stopInstrumentation(uri); - })(); + optimizeFunctionSync(__codspeed_root_frame__); + measurement.startInstrumentation(); + __codspeed_root_frame__(); + measurement.stopInstrumentation(uri); } console.log(` ✔ Measured ${uri}`); benchmarkCompletedListeners.forEach((listener) => listener());