/ Gists / Loops speed comparision
On gists

Loops speed comparision

JavaScript

loops.js Raw #

const numbers = [...Array(10000000)].map(
  (_, index) => index + 1
);
function measurePerf(label, method) {
  console.time(label);
  method();
  console.timeEnd(label);
}
measurePerf('filter', () => {
  const evens = numbers.filter((num) => num % 2 === 0);
});
measurePerf('forEach', () => {
  const evens = [];
  numbers.forEach((num) => {
    if (num % 2 === 0) {
      evens.push(num);
    }
  });
});
measurePerf('for...of', () => {
  const evens = [];
  for (const num of numbers) {
    if (num % 2 === 0) {
      evens.push(num);
    }
  }
});
measurePerf('for', () => {
  const evens = [];
  for (let i = 0; i < numbers.length; i++) {
    const num = numbers[i];
    if (num % 2 === 0) {
      evens.push(num);
    }
  }
});