Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Chrome 131
Windows
Desktop
3 months ago
Test name Executions per second
bitwise operator on Int32Array 30403.3 Ops/sec
boolean operator on Int32Array 31158.9 Ops/sec
boolean operator with comparitors on Int32Array 29934.5 Ops/sec
bitwise operator on Float32Array 27976.6 Ops/sec
bitwise operator on Uint32Array 30078.2 Ops/sec
boolean operator on Uint32Array 31184.8 Ops/sec
boolean operator on Uint32Array with comparators 29773.5 Ops/sec
Script Preparation code:
AخA
 
var i32 = new Int32Array(10000);
var f32 = new Float32Array(10000);
var ui32 = new Uint32Array(10000);
Tests:
  • bitwise operator on Int32Array

     
    for(var i=0; i<i32.length; ++i){ i32[i] = i32[i] | i32[i]; }
  • boolean operator on Int32Array

     
    for(var i=0; i<i32.length; ++i){ i32[i] = i32[i] || i32[i]; }
  • boolean operator with comparitors on Int32Array

     
    for(var i=0; i<i32.length; ++i){ i32[i] = (i32[i]==1) || (i32[i]==1)? 1:0; }
  • bitwise operator on Float32Array

     
    for(var i=0; i<f32.length; ++i){ f32[i] = f32[i] | f32[i]; }
  • bitwise operator on Uint32Array

     
    for(var i=0; i<ui32.length; ++i){ ui32[i] = ui32[i] | ui32[i]; }
  • boolean operator on Uint32Array

     
    for(var i=0; i<ui32.length; ++i){ ui32[i] = ui32[i] || ui32[i]; }
  • boolean operator on Uint32Array with comparators

     
    for(var i=0; i<ui32.length; ++i){ ui32[i] = (ui32[i]==1) || (ui32[i]==1)? 1:0; }