JS Zip

Benchmark created by Tombarr on


Test runner

Ready to run.

Testing in
TestOps/sec
Clone
let range = (n) => Array(n).fill(0).map((_, i) => i);
let zip = (...arrs) => arrs[0].map((_, i) => arrs.map(arr => arr[i]));

let as = range(1000000);
let bs = range(1000000);

for (let [a, b] of zip(as, bs)) {
  let c = Math.sqrt(a ** 2, b ** 2);
}
ready
Iterator
let range = (n) => Array(n).fill(0).map((_, i) => i);
let zip = (...arrs) => {
  let i = -1;
  return {
    [Symbol.iterator]() {
      return this;
    },
    next: () => ({
      done: ++i === arrs[0].length,
      value: arrs.map(arr => arr[i])
    })
  }
};

let as = range(1000000);
let bs = range(1000000);

for (let [a, b] of zip(as, bs)) {
  let c = Math.sqrt(a ** 2, b ** 2);
}
ready

Revisions

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