![](/img/trans.png)
[英]Performance of the compiled vs. interpreted javascript in java7 / Rhino
[英]Minified/compiled JavaScript vs. uncompressed JavaScript in terms of performance
我对JavaScript“编译”的理解是它压缩和缩小你的代码以最终节省字节。
冷凝还是缩小会使JavaScript运行得更快?
请考虑以下示例:
var abcdefghijklmnopqrstuvwxyz = 1;
// vs.
var a=1;
var b = function() {
// Here is a comment
// And another
// White space
return true;
};
// vs.
var b=function(){return true}
我通过jsPerf运行这些示例,几乎没有差别 。
除了保存字节外,JavaScript的编译能否使它更快或更慢?
是的,在Google Closure Compiler等应用程序所应用的转换意义上的编译可以使您的脚本运行得更快。 考虑这个非常简单的例子:
var x = ["hello", "james"].join(" ");
这编译成:
var x="hello james";
哪个代码更少,运行速度更快。 显然这是一个愚蠢的例子。 我希望你自己编写编译版本。 但是,它确实证明了Closure能够提高性能以及改进文件大小。
来自Closure文档(重点补充):
Closure Compiler是一个使JavaScript下载和运行更快的工具。 它是JavaScript的真正编译器。 它不是从源语言编译成机器代码,而是从JavaScript编译成更好的JavaScript。
编辑
有关Closure编译器实际增加 JavaScript文件大小以尝试提供性能改进的示例,请参阅我对此问题的回答 。
缩小与未缩小不应该在执行速度方面有任何区别。 唯一的区别可能是缩小版本会更快解析,但即使你有一个非常大的文件(你不会发现你运行的测试有任何差异,它只是小)。
编辑:如果你只做基本的“缩小”,我所做的第一个声明是有效的。 如果您正在使用像James所示的Closure编译器,那么如果Clousure工具会优化您的代码可能会有一些差异......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.