array inc assign vs push

Benchmark created by none on


Setup

var objIn = [undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined,undefined, null, 0, '0', false, undefined];

Test runner

Ready to run.

Testing in
TestOps/sec
inc assign
var aret = [];
var aretIdx = 0;
var len = objIn.length;
for (var idx = 0; idx < len; idx++) {
  var aval = objIn[idx];
  if ( !! aval || aval === 0) {
    aret[aretIdx++] = aval;
  }
}
return aret;
ready
push
var aret = [];
var len = objIn.length;
for (var idx = 0; idx < len; idx++) {
  var aval = objIn[idx];
  if ( !! aval || aval === 0) {
    aret.push(aval);
  }
}
return aret;
ready

Revisions

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