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
*/
}
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()