null or delete test

by infous

HTML

<h1></h1>

JavaScript

function test (clear_method) {
    var arr = [],
        d1 = new Date(), 
        d2,
        c = 1000000,
        i;
    
    for (i = 0; i < c; i++) {
        arr.push(Math.pow(i, 2));
    }

    clear_method(arr);    
    
    for (i = 0; i < c; i++) {
        arr[i] = Math.sqrt(arr[i]);
    }
    
    for (var i = 0; i < c; i++) {
        arr.pop();
    }
    
    return (new Date()).getTime() - d1.getTime();
}

function clear_delete (arr) {
    var c = arr.length,
        i;
    for (i = 0; i < c; i++) {
        if (i % 2 === 0) {
            delete arr[i];
        }
    }
}

function clear_null (arr) {
    var c = arr.length,
        i;
    for (i = 0; i < c; i++) {
        if (i % 2 === 0) {
            arr[i] = null;
        }
    }
}

var times = 5,
    dc = 0,
    nc = 0,
    i;

for (i = 0; i < times; i++) {
    dc += test(clear_delete);
    nc += test(clear_null);
}

$("h1").html("Delete: " + (dc / times) + "ms, null: " + (nc / times) + "ms");
$("<p>" + times + " tries done. Average value is above.</p>").appendTo("body");