JSFiddle - React, Tailwind, and code Playground

by Igor Pavlov

JavaScript

const testsSync = [];
const testSync = () => {}
const testsAsync = [];
const testAsync = () => {
  return new Promise((resolve) => {
    resolve();
  });
}

for (let i = 0; i < 100000; i++) {
  testsSync.push(testSync);
  testsAsync.push(testAsync);
}

const timeSync = new Date();

testsSync.forEach((testSync) => {
  return testSync();
});

document.write('Sync: ' + ((new Date()) - timeSync) + 'ms');
document.write('<br/>');

const timeAsync = new Date();

testsAsync.reduce((p, fn, index) => {
  return p.then(() => {
    return fn();
  });
}, Promise.resolve()).then(() => {
  document.write('Async: ' + ((new Date()) - timeAsync) + 'ms');
});