Run details:
Mozilla/5.0 (Linux; Android 13) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Mobile Safari/537.36
Chrome Mobile 113
Android
Mobile
one year ago
Test name Executions per second
getRandomNumberInRange 1488759.6 Ops/sec
getRandomValueInRange 159170.5 Ops/sec
Script Preparation code:
x
 
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;
}
Tests:
  • getRandomNumberInRange

     
    getRandomNumberInRange(0, 5000)
  • getRandomValueInRange

     
    getRandomValueInRange(0, 5000)