使用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單執行緒的理解。
|
相關文章
- Stopwatch 計算程式執行時間
- JavaScript 計算程式碼執行花費時間JavaScript
- python程式計算執行時間差Python
- 如何測量程式碼執行時間
- 使用Loadrunner進行效能測試
- Java專案計算程式執行時間方法Java
- Linux命令執行時間測試Linux
- 使用 Sysbench 進行 Linux 效能測試Linux
- 如何測試Linux命令執行時間?Linux
- linux系統時間程式設計(9) 計算程式片段執行時間clock函式Linux程式設計函式
- Python 計算程式執行多久程式碼Python
- 小程式框架執行時效能大測評框架
- 使用pytz模組進行時區轉換及時間計算
- 監控 Python 記憶體使用情況和程式碼執行時間!Python記憶體
- 使用CountDownLatch或迴圈屏障對多執行緒程式碼進行單元測試 -XebiaCountDownLatch執行緒
- Python——timeit(執行時間平均值計算)Python
- 使用springboot對各層的程式碼進行測試!Spring Boot
- 關於laravel計算程式執行時間的優雅寫法Laravel
- Golang時間函式及測試函式執行時間案例Golang函式
- Jmeter效能測試場景的建立和執行JMeter
- 使用python對oracle進行簡單效能測試PythonOracle
- GO語言————6.11 計算函式執行時間Go函式
- 使用 Spring Boot 和 @SpringBootTest 進行測試Spring Boot
- 使用LSTMs和Prophet進行時間序列預測你的電子郵箱負載(附程式碼)負載
- 哪些功能需要進行效能測試?
- 【TEST】Oracle19c使用benchmarksql進行效能測試OracleSQL
- 使用 jMeter 對 SAP Spartacus 進行併發效能測試JMeter
- PHP 獲取程式碼執行時間和消耗的記憶體PHP記憶體
- golang gin框架進行時間運算之解決orm時間與時間運算——附原始碼Golang框架ORM原始碼
- PAT-B 1026 程式執行時間【時間】
- 效能測試,類似註冊這種介面怎麼進行效能測試?是 10 個執行緒執行 5 分鐘,然後慢慢增加使用者,找到效能轉折點嗎?執行緒
- JMH-大廠是如何使用JMH進行Java程式碼效能測試的?必須掌握!Java
- 使用FakeAsync對Angular非同步程式碼進行單元測試Angular非同步
- Linux 檢視計算機各個硬體的效能: sysbench (多執行緒效能測試工具)Linux計算機執行緒
- Docker中使用Xhprof 對程式碼進行效能分析Docker
- 計算機執行彙編程式碼的原理計算機
- 下篇 | 使用 ? Transformers 進行機率時間序列預測ORM
- 上篇 | 使用 ? Transformers 進行機率時間序列預測ORM
- 1026. 程式執行時間(15)