Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
DataView vs TypedArray Float32 actually fixed
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Mobile/15E148 Safari/604.1
Browser:
Mobile Safari 18
Operating system:
iOS 18.3.2
Device Platform:
Mobile
Date tested:
one year ago
Test name
Executions per second
array[i] = i;
171252.5 Ops/sec
view.setFloat32(i, i)
109994.3 Ops/sec
array[i] = i; 2
171448.1 Ops/sec
view.setFloat32(i, i) 2
109998.0 Ops/sec
Script Preparation code:
var buffer1 = new ArrayBuffer(1024 * Float32Array.BYTES_PER_ELEMENT); var array = new Float32Array(buffer1); var buffer2 = new ArrayBuffer(1024 * Float32Array.BYTES_PER_ELEMENT); var view = new DataView(buffer2);
Tests:
array[i] = i;
for (let i = 0; i < 1024; i += 1) { if (i === 0) { array[i] = 1; } else { array[i] = array[i-1] + i;; } }
view.setFloat32(i, i)
for (let i = 0; i < 4096; i += 4) { if (i === 0) { view.setFloat32(i, 1); } else { view.setFloat32(i, view.getFloat32(i - 1) + i); } }
array[i] = i; 2
for (let i = 0; i < 1024; i += 1) { if (i === 0) { array[i] = 1; } else { array[i] = array[i-1] + i; } }
view.setFloat32(i, i) 2
for (let i = 0; i < 4096; i += 4) { if (i === 0) { view.setFloat32(i, 1); } else { view.setFloat32(i, view.getFloat32(i - 1) + i); } }