不是How to measure time taken by a function to execute的副本。在將其標記爲其他事物的副本之前,請先閱讀我的問題。無論如何,它已被回答。如何在Javascript中循環不同部分的循環
我有一個像
for (var i = 0 ; i < 10000 ; i++) {
doSomething();
doSomethingElse();
}
代碼,我想知道多少時間循環內的各功能是整體考慮。我如何衡量?
不是How to measure time taken by a function to execute的副本。在將其標記爲其他事物的副本之前,請先閱讀我的問題。無論如何,它已被回答。如何在Javascript中循環不同部分的循環
我有一個像
for (var i = 0 ; i < 10000 ; i++) {
doSomething();
doSomethingElse();
}
代碼,我想知道多少時間循環內的各功能是整體考慮。我如何衡量?
var t1;
var t2;
var f1Time =0;
var f2Time =0;
for (var i = 0 ; i < 10000 ; i++) {
t1 = performance.now();
doSomething();
t2 = performance.now();
f1Time+= (t2 - t1);
t1 = performance.now();
doSomethingElse();
t2 = performance.now();
f1Time+=(t2 - t1);
}
除了你會使用'performance.now()'。 – Xufox
是的,那會更準確。我更新了答案。謝謝 – Vineesh
這是行不通的。這隻給了我for循環所花費的總時間。 – KingSupernova
創建一個測試對象,並登記個人時間差:
function doSomething() {
t = Date.now();
while (Date.now() < t + 13) {}
}
function doSomethingElse() {
t = Date.now();
while (Date.now() < t + 27) {}
}
var tests = {
"doSomething": [],
"doSomethingElse": []
};
for (var i_1 = 0; i_1 < 10; i_1++) {
var t = Date.now();
doSomething();
tests.doSomething.push(Date.now() - t);
t = Date.now();
doSomethingElse();
tests.doSomethingElse.push(Date.now() - t);
}
for (var key in tests) {
if (tests.hasOwnProperty(key)) {
tests[key] = tests[key]
.reduce(function(sum, value) {
return sum + value;
}, 0);
}
}
console.log(tests);
您可以檢查devtools性能選項卡上的使用時間。 – Teemu