Script Preparation code:
x
 
var size = 8 * 40;
var srcBuf8 = new ArrayBuffer(size);
var srcBufPtr8 = new Uint8Array(srcBuf8);
var srcBuf16 = new ArrayBuffer(size*2);
var srcBufPtr16 = new Uint16Array(srcBuf16);
var srcBuf32 = new ArrayBuffer(size*4);
var srcBufPtr32 = new Uint32Array(srcBuf32);
var srcBuf64 = new ArrayBuffer(size*8);
var srcBufPtr64 = new BigUint64Array(srcBuf64);
for (let i = 0; i < size; i++) {
    srcBufPtr8[i] = 100 * Math.random();
}
for (let i = 0; i < size; i++) {
    srcBufPtr16[i] = srcBufPtr8[i];
}
for (let i = 0; i < size; i++) {
    srcBufPtr32[i] = srcBufPtr8[i];
}
for (let i = 0; i < size; i++) {
    srcBufPtr64[i] = BigInt(srcBufPtr8[i]);
}
Tests:
  • Uint8Array increment

     
    let smallerCount = 0;
    for (let i = 0; i < (size-1); i++) {
        if (srcBufPtr8[i] < srcBufPtr8[i+1]) {
          smallerCount++;
        }
    }
  • Uint16Array increment

     
    let smallerCount = 0;
    for (let i = 0; i < (size-1); i++) {
        if (srcBufPtr16[i] < srcBufPtr16[i+1]) {
          smallerCount++;
        }
    }
  • Uint32Array increment

     
    let smallerCount = 0;
    for (let i = 0; i < (size-1); i++) {
        if (srcBufPtr32[i] < srcBufPtr32[i+1]) {
          smallerCount++;
        }
    }
  • BigUint64Array increment

     
    let smallerCount = 0;
    for (let i = 0; i < (size-1); i++) {
        if (srcBufPtr64[i] < srcBufPtr64[i+1]) {
          smallerCount++;
        }
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Uint8Array increment
    Uint16Array increment
    Uint32Array increment
    BigUint64Array increment

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one month ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
Chrome 134 on Windows
View result in a separate tab
Test name Executions per second
Uint8Array increment 1072470.4 Ops/sec
Uint16Array increment 1062807.2 Ops/sec
Uint32Array increment 1066712.8 Ops/sec
BigUint64Array increment 925765.9 Ops/sec