Script Preparation code:
x
 
var size = 5000;
var srcBuf = new ArrayBuffer(size);
var srcBufPtr8 = new Uint8Array(srcBuf);
var srcBufPtr16 = new Uint16Array(srcBuf);
var srcBufPtr32 = new Uint32Array(srcBuf);
var srcBufPtr64 = new BigUint64Array(srcBuf);
var destBuf = new ArrayBuffer(size);
var destBufPtr8 = new Uint8Array(destBuf);
var destBufPtr16 = new Uint16Array(destBuf);
var destBufPtr32 = new Uint32Array(destBuf);
var destBufPtr64 = new BigUint64Array(destBuf);
for (let i = 0; i < size; i++) {
    srcBufPtr8[i] = 100*Math.random();
}
Tests:
  • Uint8Array.set

     
    destBufPtr8.set(srcBufPtr8);
  • Uint16Array.set

     
    destBufPtr16.set(srcBufPtr16);
  • Uint32Array.set

     
    destBufPtr32.set(srcBufPtr32);
  • BigUint64Array.set

     
    destBufPtr64.set(srcBufPtr64);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Uint8Array.set
    Uint16Array.set
    Uint32Array.set
    BigUint64Array.set

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 days ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Chrome 135 on Windows
View result in a separate tab
Test name Executions per second
Uint8Array.set 18190322.0 Ops/sec
Uint16Array.set 17803326.0 Ops/sec
Uint32Array.set 17493692.0 Ops/sec
BigUint64Array.set 17810288.0 Ops/sec