Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
copy ArrayBuffer: DataView vs Uint8Array.set vs Float64Array.set vs by bytes
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Browser:
Chrome 123
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
DataView
25.6M/s
Uint8Array by byte
25.4M/s
Uint8Array with set
854K/s
with Float64Array
731K/s
View exact numbers
Test name
Executions per second
✓
DataView
25,576,772 Ops/sec
Uint8Array by byte
25,391,884 Ops/sec
Uint8Array with set
853,564 Ops/sec
with Float64Array
731,461 Ops/sec
Script Preparation code:
var size = 0xFFFF; var buf = new ArrayBuffer(size); var view = new DataView(buf); var byte = new Uint8Array(buf); var data = new Uint8Array(size); for (let i = 0; i < size; i++) { data[i] = 100*Math.random(); }
Tests:
DataView
for (let i; i < size; i++) { view.setUint8(i, data[i]); }
Uint8Array by byte
for (let i; i < size; i++) { byte[i] = data[i]; }
Uint8Array with set
byte.set(data);
with Float64Array
(new Float64Array(buf, 0, size/8)) .set(new Float64Array(data.buffer, 0, size/8));