據我所知,腳本是在JavaScript中同步下載和執行的。 因此,如果我們寫下面的代碼:如何測量腳本執行和*解析*時間?
<script type='text/javascript'>console.time('core')</script>
<script type='text/javascript' src="guicore.js"></script>
<script type='text/javascript'>console.timeEnd('core')</script>
我們將在控制檯總時間看到下載,解析和執行JS。 我們如何排除解析時間?只需添加類似的文件,但註釋掉所有代碼。或多或少,這種技術應該工作。
問題是這樣的只是不工作=)
我優化的代碼,縮短執行時間的90毫秒從25ms的到,但看到相同的〜100個±10ms的時間Chrome和〜160個±15ms的用於Firefox 。
好吧,我知道我可以使用分析器,但的問題是:「如何正確測量js解析時間」,我測量了什麼btw。 Research.reverse-engineering非常有趣,但也許有人會深入瞭解這個領域。
註釋掉的代碼塊與未註釋的代碼根本不一樣(正如您發現的) – Pointy 2013-03-11 15:49:59
遵循您自己的方法,如何在第一行guicore.js中進行另一次測量?這應該在解析後執行。 – bfavaretto 2013-03-11 15:57:12
您是否嘗試過在Chrome中使用時間軸視圖?它分割下載時間和評估時間 – 2013-03-11 17:13:46