js獲取函數執行所需時間

通過js的sort和阮一峯的快排來對比下函數執行時間


var quickSort = function(arr) {            
    if (arr.length <= 1) {
        return arr;
    } 
    var pivotIndex = Math.floor(arr.length / 2);
    var pivot = arr.splice(pivotIndex, 1)[0]; 
    var left = [];
    var right = [];
    for (var i = 0; i < arr.length; i++) { 
        if (arr[i] < pivot) {    
            left.push(arr[i]);    
        } else {    
            right.push(arr[i]);    
        } 
    }
    return quickSort(left).concat([pivot], quickSort(right));
};

var N = 10000;
var myarr = new Array(N);
for (var i = 0; i < N; ++i) {
    myarr[i] = 42;
}

console.time('js sort');
myarr.sort();
console.timeEnd('js sort');

console.time('"quick"Sort');
myarr = quickSort(myarr);
console.timeEnd('"quick"Sort');

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章