Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
soa vs aos
As titled
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/135.0.0.0 Safari/537.36
Browser:
Chrome 135
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
soa
379.3 Ops/sec
aos
18.2 Ops/sec
soa mark II
305.9 Ops/sec
Script Preparation code:
var N = 1000000; var x = [], y = [], z = []; var xt = new Float32Array(1000000); var yt = new Float32Array(1000000); var zt = new Float32Array(1000000); var vectors = []; for(var i = 0; i < N; i++){ x[i] = Math.random(); y[i] = Math.random(); z[i] = Math.random(); xt[i] = x[i]; yt[i] = y[i]; zt[i] = z[i]; vectors[i] = { x: x[i], y: y[i], z: z[i] }; } var vector;
Tests:
soa
for (var i = 0, li=x.length; i < li; ++i) { x[i] *= 2; y[i] *= 2; z[i] *= 2; }
aos
for (var i = 0, li=vectors.length; i < li; ++i) { vector = vectors[i]; vector.x *= 2; vector.y *= 2; vector.z *= 2; }
soa mark II
for (var i = 0, li=xt.length; i < li; ++i) { xt[i] *= 2; } for (var i = 0, li=yt.length; i < li; ++i) { yt[i] *= 2; } for (var i = 0, li=zt.length; i < li; ++i) { zt[i] *= 2; }