欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

压缩JavaScript,使其减小20%

程序员文章站 2024-02-24 16:39:16
...

Ray Cromwell有一篇很棒的文章(请自备爬墙梯),使用JavaScript压缩技术来降低Ajax应用的加载负荷。

JavaScript使用“binary as source”可以带来很多不错的优势,但是也面临着一些问题,我们必须在冗长的代码中进行取舍…这也是Google Web Toolkit在做的事情。Ray为我们带来了相对智能的压缩方式:

引用
结合base-54/base-64模糊标识符编码;稳定sort-order,以便标识符的分配;使用clustering-by-edit-distance排序算法;将7-zip作为一个gzip-compatible压缩器。令人难以置信的是,展示的应用程序大小减少了21%;在一个500k的大型JavaScript应用中,这意味着将会减少100k甚至更多带宽,而且性能没有任何损失。


文章主要谈到了一些基本的压缩,还有滑动窗口技术:

引用

deflate算法包含两个压缩算法: LZ77Huffman coding
LZ77其实也是一种滑动窗口的压缩算法,使用先前的参考来替代正在输入的字符串。例如字符串“this is a test”,有两个“is”,使用一个空格隔开,因此第二次输入“is”时,将会改为长度(2个字符,backwards distance (-3 )),被称为length-distance pair(长度距离对)。压缩器会寻找匹配,然后再编译这些长度距离对。但是如果两个Javascript函数相同的字符串超过这个距离,他们就无法匹配了!


点击查看更多详情:http://timepedia.blogspot.com/2009/08/on-reducing-size-of-compressed.html

 

相关标签: JavaScript 算法