X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=busy-wait.js;h=eece669424406485a677c5248337e335e4bee008;hb=47006ddf6055b02dd084ae91269f12b44ce8225d;hp=d49a5fde51981ba870ab4de30397d5e61066592c;hpb=a8bf8b7d73343b33657cb8d6f36091a3bcdc38d6;p=benchmarks-js.git diff --git a/busy-wait.js b/busy-wait.js index d49a5fd..eece669 100644 --- a/busy-wait.js +++ b/busy-wait.js @@ -6,6 +6,15 @@ const suite = new Benchmark.Suite() const timeout = 2000 const interval = 1000 +/** + * @param timeoutMs + */ +function dummyTimeoutBusyWait (timeoutMs) { + const timeoutTimestampMs = Date.now() + timeoutMs + // eslint-disable-next-line no-empty + do {} while (Date.now() < timeoutTimestampMs) +} + /** * @param timeoutMs */ @@ -48,23 +57,26 @@ function setIntervalTimeoutBusyWait (timeoutMs, intervalMs = interval) { } suite - .add('sleepTimeoutBusyWait', async function () { - sleepTimeoutBusyWait(timeout) + .add('dummyTimeoutBusyWait', () => { + dummyTimeoutBusyWait(timeout) + }) + .add('sleepTimeoutBusyWait', async () => { + await sleepTimeoutBusyWait(timeout) }) - .add('divideAndConquerTimeoutBusyWait', async function () { + .add('divideAndConquerTimeoutBusyWait', async () => { await divideAndConquerTimeoutBusyWait(timeout) }) - .add('setIntervalTimeoutBusyWait', function () { + .add('setIntervalTimeoutBusyWait', () => { setIntervalTimeoutBusyWait(timeout) }) - .on('cycle', function (event) { + .on('cycle', event => { console.log(event.target.toString()) }) .on('complete', function () { console.log( 'Fastest is ' + LIST_FORMATTER.format(this.filter('fastest').map('name')) ) - // eslint-disable-next-line no-process-exit + // eslint-disable-next-line n/no-process-exit process.exit() }) .run()