Xor

Benchmark created on


Setup


function rand32a() {
  return (Math.random() * 0x100000000 | 0);
}

function rand64a() {
  return {h: rand32a(), l: rand32a()};
}

function xora(x, y) {
  return {l: x.l ^ y.l, h: x.h ^ y.h};
}

function rand32b() {
  return (Math.random() * 0x400000 | 0);
}


function rand64b() {
  return {h: rand32b(), m: rand32b(), l: rand32b()};
}

function xorb(x, y) {
  return {l: x.l ^ y.l, m: x.m ^ y.m, h: x.h ^ y.h};
}

var aa = Array.from({length:1024},rand64a);
var ab = Array.from({length:1024},rand64b);

var xa = rand64a();
var xb = rand64a();

var i = 0;

Test runner

Ready to run.

Testing in
TestOps/sec
floats
xa = xora(xa, aa[i++ & 1023]);
ready
ints
xb = xorb(xb, ab[i++ & 1023]);
ready

Revisions

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