還是取決於書寫方式?這是一個事實,一個較小的jQuery插件(以KB爲單位)的性能會優於同一個功能相同的插件,但尺寸較大?
我的問題與頁面渲染時間有關。我們能否確定哪個能夠提供更好的性能?
我們應該總是選擇一個更小尺寸的插件嗎?
還是取決於書寫方式?這是一個事實,一個較小的jQuery插件(以KB爲單位)的性能會優於同一個功能相同的插件,但尺寸較大?
我的問題與頁面渲染時間有關。我們能否確定哪個能夠提供更好的性能?
我們應該總是選擇一個更小尺寸的插件嗎?
如果您的意思是說您有兩個功能相當但尺寸不同的插件(不僅縮小但實際上不同的代碼),答案是:也許。有一件事顯然是肯定的:較小的插件將加載得更快。但是出於一百萬個原因,較大的插件在此之後可能會更快。沒有基準,你只能猜測。
假設你的意思是說一個插件文件已被縮小,那麼在大多數情況下,我會說是。
但它確實取決於數以百計的因素......
jQuery的分發庫的「精縮版」。該代碼使用名爲JSMin的工具剝離了無關的空白和其他元素。它在功能上與非縮小版本相同,但加載速度更快。如果您正在調試壽命,您可能會發現使用完整版本更容易。
後來才知道的方法是使用工具來測量它像yslow或google page speed
例如我可以編寫一個最簡單的插件來停止你的頁面渲染,或者下載太多的東西。
但通常如果兩者都是具有完全相同行爲的jquery插件,則越短越好,但如果您要比較兩個不同的東西,例如一個jquery插件,一個普通的javascript,那麼你還必須考慮jQuery庫的大小和這樣的事情。
刪除空白的正常縮小的JavaScript文件運行速度與未縮小的速度相同。差異是可以忽略的,因爲解釋者的唯一好處是它不必跳過儘可能多的空格。縮小的JS文件的好處來自減小的文件大小,而不是提高的性能。
但如果JavaScript是「包裝」與Dean Edward's Packer文件,這是因爲它實際上可能下降性能,因爲代碼必須先用eval()
評估一個完全不同的情況。這就是爲什麼在某些情況下,使用「最大」設置–即使用「Base62編碼」選項進行打包可能不太可取。
所以,如果你正在尋找性能優化,不通過剝離空白或縮短變量名:)
但作爲一個回答你的最後一個問題,是的,你應該總是選擇縮小的版本開始。由於文件大小較小,至少會加載速度更快。
+1。較小的插件可能會使用具有較小代碼空間要求的算法,但需要指數級較大的時間或內存。然後,它可能不會。 – 2010-01-07 08:54:43