native vs typed js array speed (v24)

Revision 24 of this benchmark created by Tenjou on


Preparation HTML

<script>
  var arraySize = 2000;
  var nativeArray = new Array(arraySize);
  var int8Array = new Int8Array(arraySize);
  var int16Array = new Int16Array(arraySize);
  var int32Array = new Int32Array(arraySize);
  var float32Array = new Float32Array(arraySize);
  var float64Array = new Float64Array(arraySize);

</script>

Setup

var sum = 0;

Test runner

Ready to run.

Testing in
TestOps/sec
Native Write
for (var i = 0; i < arraySize; ++i) {
  nativeArray[i] = i;
}
ready
Int32 Write
for (var i = 0; i < arraySize; ++i) {
  int32Array[i] = i;
}
ready
Float32 Write
for (var i = 0; i < arraySize; ++i) {
  float32Array[i] = i;
}
ready
Native Read
for (var i = 0; i < arraySize; ++i) {
  sum += nativeArray[i];
}
ready
Int32 Read
for (var i = 0; i < arraySize; ++i) {
  sum += int32Array[i];
}
ready
Float32 Read
for (var i = 0; i < arraySize; ++i) {
  sum += float32Array[i];
}
ready
Int16 Write
for (var i = 0; i < arraySize; ++i) {
  int16Array[i] = i;
}
ready
Int16 Read
for (var i = 0; i < arraySize; ++i) {
  sum += int16Array[i];
}
ready
Int8 Write
for (var i = 0; i < arraySize; ++i) {
  int8Array[i] = i;
}
ready
Int8 Read
for (var i = 0; i < arraySize; ++i) {
  sum += int8Array[i];
}
ready
Alternative Native Write
for (var i = 0; i < arraySize; ++i) {
  nativeArray[i] = i;
}
ready
Float64 Read
for (var i = 0; i < arraySize; ++i) {
  sum += float64Array[i];
}
ready
Float64 Write
for (var i = 0; i < arraySize; ++i) {
  float64Array[i] = sum;
}
ready

Revisions

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