Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Seedrandom browser (+ xoshift128**)
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0
Browser:
Firefox 128
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
Vanilla
2960781.8 Ops/sec
arc4
16199.5 Ops/sec
alea
84350.8 Ops/sec
tychei
36700.7 Ops/sec
xor128
58204.7 Ops/sec
xor4096
45304.3 Ops/sec
xorshift7
38894.1 Ops/sec
xorwow
46831.0 Ops/sec
xoshiro128**
43045.4 Ops/sec
HTML Preparation code:
<script src="https://cdnjs.cloudflare.com/ajax/libs/seedrandom/3.0.5/seedrandom.min.js" integrity="sha512-+Ru50BzEpZjlFzVnjSmJfYFPFfY2hS0Kjlu/IvqaJoux7maF5lJrRVUJWJ2LevPls7rd242GLbWEt+zAo4OVVQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/seedrandom/3.0.5/lib/alea.min.js" integrity="sha512-qdg0W1MJ7Tm0so0tniJeBgmMNS4dhgiUITVvbet4MG8WgyJhrBN7D60tYBFRX/miwUtMo2x9Ln0XuavTA0e6mQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/seedrandom/3.0.5/lib/tychei.min.js" integrity="sha512-X+JqB/aryeXNyZ9BRD/nyEmwI5ksz4fKx8KeK//JGfJAg32Ulg4p5BiYQC0ZSxIPZ2cTTOHqBFM/YRZ7V2fhTA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/seedrandom/3.0.5/lib/xor128.min.js" integrity="sha512-B2ng6iJaZXjJjE2BNQOkclIxgz3J2CFZksmErkh9O2853tVIGcaA8omayOJ6pLScE7X3E69L8RU4JWEVU/LWMg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/seedrandom/3.0.5/lib/xor4096.min.js" integrity="sha512-DHg2KuUgiv5K7c92qHOTe7wZH/kARX0Ux+Wa110n0mYjEzbST+a1bSndHPwBkePAvaQ7rYX8Zq6Y8A05cI5Gvg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/seedrandom/3.0.5/lib/xorshift7.min.js" integrity="sha512-YqdH2Tyucg3njU/OdpRn5orxvng9MVdBfC6iii5m8qPck9Wn1gEFjvZ1qIAx4zA7OMePCSQMUNWUFzNBZnjgNw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/seedrandom/3.0.5/lib/xorwow.min.js" integrity="sha512-6Vc18+kgr4pX88B0V5/2d+xRk+KcVewLVW4MZYWt/PtuDZxyfQzIgZAkZ4cZTsIDnU4zRov5YBXi9giH/Nce8g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
Script Preparation code:
class Xoshiro128StarStar { constructor(a, b, c, d) { this.a = a >>> 0; this.b = b >>> 0; this.c = c >>> 0; this.d = d >>> 0; } next() { const t = this.b << 9; let r = this.b * 5; r = ((r << 7) | (r >>> 25)) * 9; this.c ^= this.a; this.d ^= this.b; this.b ^= this.c; this.a ^= this.d; this.c ^= t; this.d = (this.d << 11) | (this.d >>> 21); return r >>> 0; // Ensure unsigned integer } } //// function generateInt32() { return Math.floor(Math.random() * 0x80000000) | 0; } // init arc4Gen = new Math.seedrandom("test"); aleaGen = alea("test"); tycheiGen = tychei("test"); xor128Gen = xor128("test"); xor4096Gen = xor4096("test"); xorshift7Gen = xorshift7("test"); xorwowGen = xorwow("test"); Xoshiro128StarStarGen = new Xoshiro128StarStar(435335105, 1235613264, 1925681904, 682079889);
Tests:
Vanilla
for (let i = 0; i < 1000; i++) { const a = Math.random() + generateInt32(); }
arc4
for (let i = 0; i < 1000; i++) { const a = arc4Gen.quick() + arc4Gen.int32(); }
alea
for (let i = 0; i < 1000; i++) { const a = aleaGen.quick() + aleaGen.int32(); }
tychei
for (let i = 0; i < 1000; i++) { const a = tycheiGen.quick() + tycheiGen.int32(); }
xor128
for (let i = 0; i < 1000; i++) { const a = xor128Gen.quick() + xor128Gen.int32(); }
xor4096
for (let i = 0; i < 1000; i++) { const a = xor4096Gen.quick() + xor4096Gen.int32(); }
xorshift7
for (let i = 0; i < 1000; i++) { const a = xorshift7Gen.quick() + xorshift7Gen.int32(); }
xorwow
for (let i = 0; i < 1000; i++) { const a = xorwowGen.quick() + xorwowGen.int32(); }
xoshiro128**
for (let i = 0; i < 1000; i++) { const a = Xoshiro128StarStarGen.next() / 0x100000000 + Xoshiro128StarStarGen.next(); }