繁体   English   中英

在性能方面缩小/编译JavaScript与未压缩的JavaScript

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM