These are not scientific tests because they are carried out in an uncontrolled environment in a Web browser and on the command line, but they should give you a rough idea of the differences.

1,000,000 iterations

Lets look at one million iterations in a variety of forms:

  • For loop with empty body
  • .forEach on array with empty callback
  • For loop summing the entries from an array
  • Array.reduce summing the entries from an array
  • .map on an array, just returning the entry
  • Filling an Array with sequential numbers using a for loop and push
  • Filling an Array with random numbers using Math.random and push
  • Setting a pre-sized Array with sequential numbers using a for loop
  • Setting a pre-sized Array with random numbers using Math.random
  • Filling a Uint8Array with sequential numbers using a for loop
  • Filling a Uint8Array with random numbers using Math.random
  • Filling a Uint16Array with sequential numbers - 1 million bytes
  • Filling a Uint16Array with sequential numbers - 1 million entries
  • Filling a Uint32Array with sequential numbers - 1 million bytes
  • Filling a Uint32Array with sequential numbers - 1 million entries
  • Filling a Float16Array with sequential numbers - 1 million bytes
  • Filling a Float16Array with sequential numbers - 1 million entries
  • Filling a Float32Array with sequential numbers - 1 million bytes
  • Filling a Float32Array with sequential numbers - 1 million entries
  • Copying a Uint8Array using a for loop - 1 million bytes
  • Copying a Uint16Array using a for loop - 1 million bytes
  • Copying a Uint32Array using a for loop - 1 million bytes
  • Copying a Float16Array using a for loop - 1 million bytes
  • Copying a Float32Array using a for loop - 1 million bytes
  • Copying a Uint8Array using constructor - 1 million bytes
  • Copying a Uint16Array using constructor - 1 million bytes
  • Copying a Uint32Array using constructor - 1 million bytes
  • Copying a Float16Array using constructor - 1 million bytes
  • Copying a Float32Array using constructor - 1 million bytes