Skip to content

Instantly share code, notes, and snippets.

@jasonsturges
Created August 26, 2020 07:20
Show Gist options
  • Save jasonsturges/95d2eafd58dfe665629c0c830a98cb2b to your computer and use it in GitHub Desktop.
Save jasonsturges/95d2eafd58dfe665629c0c830a98cb2b to your computer and use it in GitHub Desktop.
Benchmarking JavaScript - Baseline time
const runBaseline = (iterations = 100000000) => {
let startTime = new Date().getTime();
for (let i = 0; i < iterations; i++) {
// no operation
}
let endTime = new Date().getTime();
return endTime - startTime;
}
const runTest = (iterations = 100000000) => {
let startTime = new Date().getTime();
for (let i = 0; i < iterations; i++)
Math.log10(i)
let endTime = new Date().getTime();
let baselineTime = runBaseline(iterations);
let totalTime = endTime - startTime - baselineTime;
let fnTime = (totalTime / iterations).toFixed(10);
let operations = Math.floor(1000 / totalTime * iterations);
console.log(`total: ${totalTime}, time: ${fnTime}, op/sec: ${operations}`);
}
while (true) {
runTest();
await sleep(50);
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment