Test name | Executions per second |
---|---|
uuidv4 | 358682.9 Ops/sec |
random 1 | 129246.9 Ops/sec |
random 2 | 179074.1 Ops/sec |
random 3 | 569876.6 Ops/sec |
bits = crypto.getRandomValues(new Uint8Array(20))
bits[5] = (bits[5] & 0x4F) | 0x40;
bits[5] &= 0x4F; bits[5] |= 0x40;
bits[8] = (bits[8] & 0xBF) | 0x80;
bits = [bits].map(e => e.toString(16).padStart(2,'0') ).reduce((a,c,i)=>a+([4,7,10,13].includes(i)?'-':c));
Array(20).fill(0).map(()=>crypto.getRandomValues(new Uint8Array(1))[0].toString(16).padStart(2,'0')).reduce((a,c,i)=>a+([4,7,10,13].includes(i)?'-':c))
([1e3]+-10+-10+-1e5).replace(/\d/g, () => crypto.getRandomValues(new Uint8Array(1))[0].toString(16).padStart(2,'0'))
let s=[]; crypto.getRandomValues(new Uint8Array(20)).map( e => s.push(e.toString(16).padStart(2,'0')) ); [4,7,10,13].map( idx => s[idx]='-' ); s.join('');