在性能方面哪个更好?

时间:2010-06-21 23:15:36

标签: jquery performance

什么是更好。

你有20个javascript文件。所有页面共享10个。所以他们会在母版页面。现在这10个怎么样?假设一个页面使用4/10另一个使用4/10而另一个使用2/10。

会吗? a)最好将它们全部合并到一个文件中(当然是动态的),这样只需要一个http请求。

b)在母版页中有10个组合,然后所有其他页面都会合并在一起。

所以在我的一些页面中,我会看到4或5个java脚本请求

  1. 一位来自大师
  2. 来自谷歌CDN的jquery一个
  3. 来自谷歌CDN的jquery ui的一个
  4. 一个用于从MS CDN验证jquery
  5. 该页面的任何内容。
  6. 我的大多数脚本已经使用jquery live了,因为我使用了jquery ajax选项卡,我必须同时为每个选项卡加载所有脚本。

    如果不是每次你都去另一个标签,它会下载一组新的javascript,所以它会开始做绑定事件,比如点击X时间,其中X是用户加载同一个标签的次数。

2 个答案:

答案 0 :(得分:1)

根据您使用的语言/服务器,有许多工具可以将页面上所需的javascript文件动态组合到该页面的单个请求中。基于您对Microsoft CDN的引用,听起来您正在使用ASP.NET。 Here's a combiner that might work for you将您对本地JS文件的请求合并到一个请求中。如果是我,我会做的是加载:

  1. JQuery&来自Google的JQuery UI
  2. JQuery从MS CDN验证
  3. 您的本地JS文件(使用上述工具)合并为一个下载。
  4. 这样你可以获得3次并行下载。

答案 1 :(得分:0)

取决于您的非共享文件有多大。如果它们不是太大,请将它们合并。请求通常需要比转移更长的时间。当然,如果你真的非常关心,你应该做自己的基准测试。

但如果有疑问,请结合使用。

编辑:我刚刚再次阅读了您的问题。选项B更好,以缓存主组合版本。