Test name | Executions per second |
---|---|
getRandomNumberInRange | 1488759.6 Ops/sec |
getRandomValueInRange | 159170.5 Ops/sec |
function getRandomNumberInRange(min = 0, max = 100) {
return Math.floor(Math.random() * max) + min;
}
function getRandomValueInRange(min = 0, max = 100) {
const range = max - min + 1;
const randomBuffer = new Uint32Array(1);
window.crypto.getRandomValues(randomBuffer);
const randomNumber = randomBuffer[0];
const scaledRandomNumber = Math.floor(
randomNumber / (Math.pow(2, 32) / range)
);
return min + scaledRandomNumber;
}
getRandomNumberInRange(0, 5000)
getRandomValueInRange(0, 5000)