For vs. range

Benchmark created by Tombarr on


Test runner

Ready to run.

Testing in
TestOps/sec
For Loop
let collected = [];

for (let i = 0; i < 10000000; i++) {
  collected.push({ value: i });
}

collected.length == 10000000;
ready
range
function range(start, end) {
  return {
    [Symbol.iterator]() {
      return this;
    },
    next() {
      if (start < end) {
        return { value: start++, done: false };
      }
      return { done: true, value: end };
    }
  }
}

let collected = [];

for (let i of range(0, 10000000)) {
  collected.push({ value: i });
}

collected.length == 10000000;
ready

Revisions

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

  • Revision 1: published by Tombarr on