6

我已經使用了5臺JavaScript的壓縮機壓縮JavaScript庫(JSMin,YUI壓縮機,包裝機,封編譯器和UglifyJS)的性能增益檢測出壓縮JavaScript代碼

現在我知道,封編譯器是贏家減少文件大小。但是,我也想測試性能收益。什麼是這樣做的好方法?

我做了所有使用圖書館的公共方法一個簡單的測試頁面。有沒有測試此測試頁面的頁面速度的工具?例如。在瀏覽器上運行X次並返回平均加載速度。

感謝您的回答!

+0

你想測量什麼?通過公共網絡上的HTTP加載時間? JavaScript解析器花費解析JavaScript文本的時間?解釋者花費時間運行結果?你列出的大多數工具只會幫助第一個(HTTP加載時間),Closure編譯器是個奇怪的人,因爲它實際上修改了你的代碼(內聯函數等),而其他的很大程度上是關於符號長度減少和(在某些情況下)混淆。 – 2011-05-24 08:22:57

+0

可能重複[什麼是最好的方式來分析JavaScript執行?](http://stackoverflow.com/questions/855126/what-is-the-best-way-to-profile-javascript-execution) – 2011-05-24 08:25:04

+0

整體包。我想測試用戶的速度增益。秒錶從獲取測試頁到每個公開方法結束。 – Chielus 2011-05-24 08:27:02

回答

0

我懷疑the PageSpeed tool是你在找什麼。

+1

我知道關於pagespeed,它的時間線功能可能很有用。但是,它僅用於運行一次。運行X次並取平均值會更好。這可以以某種方式完成嗎? – Chielus 2011-05-24 08:35:39

+0

實際上,如果不使用網絡調節器,就很難使用它來衡量性能的實際改進。 – symcbean 2011-05-24 08:47:28

+0

@symcbean:是的。或者我的等價網絡調節器:在100Mbit(甚至10Mbit)連接上的某個緩慢的VPS服務器。 :-) – 2011-05-24 08:58:48

0

使用Pagespeed或YSlow的上Firefox或HTTPAnaylser上IE來測試時間負荷差。

0

這真的取決於你的觀衆最在意的部位。時間出現在屏幕上?加載完成的時間?動畫平滑嗎?交互式響應?或者原始計算速度?

你應該配置您的網站的壓縮與基於最重要的指標是什麼不同minifiers。

側注意:簡單模式下的閉包編譯器只產生最小的加速。它會縮小文件大小,但JavaScript程序保持不變。要獲得顯着的代碼縮減和速度優化,您必須使用高級模式。

1

有沒有必要要複雜一下:

<html> 
<head> 
    <script> 
    var time = new Date(); 
    </script> 
    <script src="..."></script> 
    ... more scripts ... 
</head> 

<body> 
<script> 
    document.write("Time: " + String((new Date() - time)/1000) + " seconds"); 
</script> 
</body> 
</html> 

腳本在<head>一般加載順序,所以這應該是衡量腳本執行時間的合理方法。如果您的腳本執行形式爲<body onload="...">,則在該函數結束時進行計算,而不是在主體結束時進行計算。

該方法不會測量通過setTimeoutsetInterval執行的「異步」功能的執行時間,但這些功能不應計入加載時間。

一個替代和可能更簡單的選項是使用內置到Chrome或Safari的Web檢查器的JavaScript分析器。