Tests:
  • Math.random

    AخA
     
    return Math.floor(Math.random() * 50000)
  • crypto.getRandomValues

    x
     
    const range = 5000
    const randomBuffer = new Uint32Array(1);
    window.crypto.getRandomValues(randomBuffer);
    const randomNumber = randomBuffer[0];
    const scaledRandomNumber = Math.floor(randomNumber / (Math.pow(2, 32) / range));
    return scaledRandomNumber;
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Math.random
    crypto.getRandomValues

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36
Chrome 112 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Math.random 7747610.5 Ops/sec
crypto.getRandomValues 857110.5 Ops/sec