缩小javascript提高性能吗?

我正在做一个AIR应用程序(所以下载时间不会有太大的影响),所有的JavaScript文件合并和减less影响性能? 混淆会如何影响性能。

Minifying通过减less加载时间(即使只是稍微)来提高整个页面的性能。

绝大多数的javascript代码都不会被缩小或混淆,从而不会改变执行时间

我build议为了这些原因而更多地进行缩减。 一起缩小多个脚本(如jQuery和它的插件)可以节省更多的成本。

编辑:正如指出的那样,在受限设备和/或非常大的代码库缩小可能会产生显着的结果。

缩小

由于两个原因,缩小确实提高了性能:

  • 减小文件大小(因为它删除了注释和不必要的空格),所以脚本加载速度更快。 即使它embedded到<head>

  • 它的parsing速度更快,因为注释和空格不必显式忽略(因为它们不在那里)。

结合

我已经写了不lessHTML / JS AIR应用程序,从个人经验来看,组合文件不会有什么区别。 实际上,根据特定的标准(类,全局函数,SQL函数等)分离脚本是一种很好的做法。 当项目变得太大时帮助他们组织起来。

困惑

混淆通常是缩小和重命名variables的组合。 它涉及到使用eval再次炸毁代码。 这显然会降低性能,但这取决于代码的大小。

我build议运行testing,以了解这个最适合您的具体情况。

[编辑包括对AIR应用程序的特殊考虑]

缩小并不能提高JavaScript在运行时执行的速度,我相信这是你真正感兴趣的。事实上,如果你使用Packer的Base64压缩,它实际上在初始加载时会变慢。

缩小会减小JavaScript的大小,使您的应用程序的下载规模更小。

Minifying消除所有评论,多余的空白和缩短variables名称。 这样可以减lessJavaScript文件的下载时间,因为它们(通常)在文件大小上要小很多。 所以,是的,它确实提高了性能。

混淆不应该对性能产生不利影响。

这里有一篇关于YDN的文章,谈论缩小。

这里的每个人都已经谈论过缩小,但是没有人会提到你的问题的第二部分 – 合并。 这肯定会提高性能,甚至可能比缩小更多。

多个文件需要多个HTTP请求,所以当你把它们全部放入一个文件时,只需要一个请求。 这有两个重要的原因:

  • 每个单独的HTTP请求可能需要更长的时间来加载各种路由的原因,1个文件可能会延迟你的整个应用程序。
  • 浏览器和其他客户端可以从单个域同时下载文件的最大限制。 根据应用程序中的文件数量,这可能意味着客户端排队,从而使负载更长。

此外,除了缩小和组合之外,您还必须确保启用了某种服务器端压缩function。 根据文件的不同,这可以为您节省90%甚至更多的字节数。

你可以在这里阅读更多关于压缩(gzip,deflate): http : //beerpla.net/2009/06/09/how-to-make-your-site-lightning-fast-by-compressing-deflategzip-your-html -javascript-css-xml-etc-in-apache / 。