Script Preparation code:
x
 
function addObj(out, a, b) {
    out[0] = a[0] + b[0];
    out[1] = a[1] + b[1];
    out[2] = a[2] + b[2];
    return out;
};
function addArr(out, oo, a, b, ao,bo) {
    out[0+oo] = a[0+ao] + b[0+bo];
    out[1+oo] = a[1+ao] + b[1+bo];
    out[2+oo] = a[2+ao] + b[2+bo];
};
Tests:
  • vec3 Arr

     
    var A = new Float32Array(300);
    var B = new Float32Array(300);
    var O = new Float32Array(300);
    for (var i = 0;i < 1000;++i) {
      for (var j=0;j< 100;++j) {
        addArr(O,j*3,A,B,j*3,j*3);
      }
    }
  • vec3 obj

     
    var A = [];
    var B = [];
    var O = [];
    for (var x=0;x<100;++x) {
      A.push(new Float32Array(3));
      B.push(new Float32Array(3));
      O.push(new Float32Array(3));
    }
    for (var i = 0;i < 1000;++i) {
      for (var j=0;j< 100;++j) {
        addObj(O[j],A[j],B[j]);
      }
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    vec3 Arr
    vec3 obj

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
Chrome 119 on Windows
View result in a separate tab
Test name Executions per second
vec3 Arr 291.1 Ops/sec
vec3 obj 273.7 Ops/sec