Typed array comparison - Random Access (v4)

Revision 4 of this benchmark created on


Preparation HTML

<script>
  var n    = 1000;
  var f32  = new Float32Array(n);
  var f64  = new Float64Array(n);
  var i8   = new Int8Array(n);
  var i16  = new Int16Array(n);
  var i32  = new Int32Array(n);
  var ui8  = new Uint8Array(n);
  var ui16 = new Uint16Array(n);
  var ui32 = new Uint32Array(n);
  var a    = new Array(n);
  
  for (var i=0; i<n; i++) {
    a[i]    =
    f32[i]  =
    f64[i]  =
    i8[i]   =
    i16[i]  =
    i32[i]  =
    ui8[i]  =
    ui16[i] =
    ui32[i] =
    i;
  }
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
Float32Array
var sum = 0;
for (var i=0; i<n; i++)
  sum += f32[Math.round(Math.random()*n)];
ready
Float64Array
var sum = 0;
for (var i=0; i<n; i++)
  sum += f64[Math.round(Math.random()*n)];
ready
Int8Array
var sum = 0;
for (var i=0; i<n; i++)
  sum += i8[Math.round(Math.random()*n)];
ready
Int16Array
var sum = 0;
for (var i=0; i<n; i++)
  sum += i16[Math.round(Math.random()*n)];
ready
Int32Array
var sum = 0;
for (var i=0; i<n; i++)
  sum += i32[Math.round(Math.random()*n)];
ready
UInt8Array
var sum = 0;
for (var i=0; i<n; i++)
  sum += ui8[Math.round(Math.random()*n)];
ready
UInt16Array
var sum = 0;
for (var i=0; i<n; i++)
  sum += ui16[Math.round(Math.random()*n)];
ready
UInt32Array
var sum = 0;
for (var i=0; i<n; i++)
  sum += ui32[Math.round(Math.random()*n)];
ready
Array
var sum = 0;
for (var i=0; i<n; i++)
  sum += a[Math.round(Math.random()*n)];
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.