使用console進行效能測試和計算程式碼執行時間
對於前端開發人員,在開發過程中經常需要監控某些表示式或變數的值,如果使用用 debugger 會顯得過於笨重,最常用的方法是會將值輸出到控制檯上方便除錯。
最常用的語句就是console.log(expression)了。
從早前一道阿里實習生招聘筆試題目入手:
function f1() {
console.time('time span');
}
function f2() {
console.timeEnd('time span');
}
setTimeout(f1, 100);
setTimeout(f2, 200);
function waitForMs(n) {
var now = Date.now();
while (Date.now() - now < n) {
}
}
waitForMs(500);//time span: 0ms
|
我們先說說關於console的高階操作,最後在一起分析這道題目。
trace
console.trace()用來追蹤函式的呼叫過程。
在大型專案尤其是框架開發中,函式的呼叫軌跡可以十分複雜,console.trace()方法可以將函式的被呼叫過程清楚地輸出到控制檯上。
function tracer(a) {
console.trace();
return a;
}
function foo(a) {
return bar(a);
}
function bar(a) {
return tracer(a);
}
var a = foo("tracer");
table
|
使用console將物件以表格呈現
可將傳入的物件,或陣列以表格形式輸出,相比傳統樹形輸出,這種輸出方案更適合內部元素排列整齊的物件或陣列,不然可能會出現很多的 undefined。
var people = {
flora: {
name: 'floraLam',
age: '12'
},
john: {
name: 'johnMa',
age: '45'
},
ray:{
name:'rayGuo',
age:'22'
}
};
console.table(people);火狐的控制檯:
time timeEnd
計算程式的執行時間
可以將成對的console.time()和console.timeEnd()之間程式碼的執行時間輸出到控制檯上
console.time('計時器');for (var i = 0; i < 1000; i++) { for (var j = 0; j < 1000; j++) {}
}
console.timeEnd('計時器');
以上程式碼計算console.time("計時器");和console.timeEnd("計時器");之間的程式碼塊所需要的事件。
profile
使用console測試程式效能
開發中,我們常常要評估段程式碼或是某個函式的效能。在函式中手動列印時間固然可以,但顯得不夠靈活而且有誤差。藉助控制檯以及console.profile()方法我們可以很方便地監控執行效能。
上述程式碼計算console.profile("效能分析");和console.profileEnd();之間,程式碼塊中涉及的函式的執行效率。
現在說回筆試題目
題目考察應聘者對console.time的瞭解和js單執行緒的理解。
|
相關文章
- JavaScript 計算程式碼執行花費時間JavaScript
- javascript測試程式碼的執行時間程式碼例項JavaScript
- Stopwatch 計算程式執行時間
- 計算php程式執行時間的程式PHP
- VC程式執行時間測試函式C程式函式
- 如何測量程式碼執行時間
- JavaScript 檢測程式碼執行時間JavaScript
- 計算SQL執行時間SQL
- python程式計算執行時間差Python
- javascript如何測試一段程式碼的執行時間JavaScript
- 程式碼效能分析-Dottrace跟蹤程式碼執行時間
- 【java】使用jprofiler進行效能測試Java
- Java專案計算程式執行時間方法Java
- .NET程式碼樹執行時間計時器
- 一段測試try...catch執行時間的程式碼
- Linux命令執行時間測試Linux
- 程式執行時間的測量
- 透過pl/sql計算程式的執行時間SQL
- 通過pl/sql計算程式的執行時間SQL
- lr計算程式執行消耗時間的比較:
- 使用 Sysbench 進行 Linux 效能測試Linux
- iOS精準計算程式碼執行耗時iOS
- 如何測試Linux命令執行時間?Linux
- 如何計算一段js程式碼執行耗費的時間JS
- js如何計算一段程式碼的執行花費時間JS
- 測量程式的執行時間(二)
- 測量程式的執行時間(一)
- python用time函式計算程式執行時間Python函式
- matlab中三種計算程式執行時間方法Matlab
- 使用Iperf工具進行網路效能測試
- 使用YCSB工具工具進行cassandra效能測試
- 使用QTP進行WEB頁面效能測試QTWeb
- 使用pytz模組進行時區轉換及時間計算
- 小程式框架執行時效能大測評框架
- linux系統時間程式設計(9) 計算程式片段執行時間clock函式Linux程式設計函式
- 使用CountDownLatch或迴圈屏障對多執行緒程式碼進行單元測試 -XebiaCountDownLatch執行緒
- Golang時間函式及測試函式執行時間案例Golang函式
- 統計程式碼執行時間,使用Stopwatch和UserProcessorTime的區別