Object delete vs. array splice vs. array delete (v9)

Revision 9 of this benchmark created on


Description

Is it faster to remove an item from an array (and thus allow the indices to be renumbered) or delete a property from an object. Also, checking deletion from array, but this does not renumber the indices so may not be preferable.

Edit: Changed array and object setup to setup code so that it's accurately tested, increased array and object size to see if any difference to array reordering (splice is faster on older test for me for some reason)

Setup

var someArr = [];
    var someObj = {};
    for (var i = 0; i < 1024; i ++) {
        someArr[i] = i;
        someObj[i] = i;
    }

Test runner

Ready to run.

Testing in
TestOps/sec
Array Splice
someArr.splice(50, 1);
ready
Object Delete
delete someObj[50];
ready
Array Delete
delete someArr[50];
ready

Revisions

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