Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Uint(8/16/32)Array and BigInt64Array comparison performance
Uint(8/16/32)Array and BigInt64Array comparison performance
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1
Browser:
Mobile Safari 18
Operating system:
iOS 18.5
Device Platform:
Mobile
Date tested:
one year ago
Test name
Executions per second
Uint8Array increment
4952157.5 Ops/sec
Uint16Array increment
5481093.0 Ops/sec
Uint32Array increment
3596855.0 Ops/sec
BigUint64Array increment
88888.1 Ops/sec
Script Preparation code:
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++; } }