Я переработал код JavaScript для Node.js (v10.13.0), который ранее был синхронным, в асинхронный код с использованием async / await. Затем я заметил снижение производительности примерно в 3 раза медленнее времени выполнения программы.
Есть ли снижение производительности при преобразовании цепочки синхронных вызовов функций в асинхронные вызовы функций?
Упрощенный пример
Изменение синхронного кода
function fn1() {
return 1;
}
function fn2() {
return fn1();
}
(function() {
const result = fn2();
});
в асинхронный код:
async function fn1() {
return 1;
}
async function fn2() {
return await fn1();
}
(async function() {
const result = await fn2();
})();
Существует ли какая-либо магия цикла событий, которая могла бы замедлить работу последнего кода в веб-приложении Node.js?