Run details:
Mozilla/5.0 (X11; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0
Firefox 137
Linux
Desktop
4 days ago
Test name Executions per second
Deferred wait 50 19.9 Ops/sec
Deferred wait 500 2.0 Ops/sec
Deferred wait 100 10.0 Ops/sec
Async Wait 100 10.0 Ops/sec
Regular/Sync Test, 5000! 16967.9 Ops/sec
Script Preparation code:
AخA
 
function wait(ms) {
    return new Promise(res => setTimeout(() => { res(ms); }, ms));
}
function factorializeRecursive(num) {
  if (num < 0) 
        return -1;
  else if (num == 0) 
      return 1;
  else {
      return (num * factorializeRecursive(num - 1));
  }
}
Tests:
  • Deferred wait 50 [Async/Deferred]

     
    setTimeout(function () { deferred.resolve() }, 50);
  • Deferred wait 500 [Async/Deferred]

     
    setTimeout(function () { deferred.resolve() }, 500);
  • Deferred wait 100 [Async/Deferred]

     
    setTimeout(function () { deferred.resolve() }, 100);
  • Async Wait 100 [Async/Deferred]

     
    await wait(100);
    deferred.resolve();
  • Regular/Sync Test, 5000!

     
    var r = factorializeRecursive(5000);