`
jindw
  • 浏览: 508318 次
  • 性别: Icon_minigender_1
  • 来自: 初到北京
社区版块
存档分类
最新评论

几种脚本文本压缩方式压缩比率和解压性能的比较

阅读更多
刚刚修正了一个JSA的bug。

顺便测试了一下文本压缩的性能,和纯packer 压缩,ShrinkSafe+packer压缩。
压缩大小:
jquery-jsa-s.js(JSA的语法压缩):29766
jquery.compressed.js(ShrinkSafe语法压缩):33992

jquery-jsa-st.js(JSA的语法压缩+文本压缩):19526
jquery-packer.js(Packer文本压缩):20977
jquery.compressed-packer.js(ShrinkSafe语法压缩+Packer文本压缩):21839

有点奇怪的是,文本压缩和语法压缩是有一定互补性的,但是ShrinkSafe+Packer比单纯的Packer文本压缩效率还低??
我想可能是ShrinkSafe做的一些语法补全(可省略的 {、}、;、),jQuery编码的风格导致。

Firefox测试数据(10次压缩时间的毫秒数,连续5回测试数据)

jquery-jsa-st.js:784
jquery-packer.js:1265
jquery.compressed-packer.js:1529

jquery-jsa-st.js:718
jquery-packer.js:922
jquery.compressed-packer.js:766

jquery-jsa-st.js:753
jquery-packer.js:872
jquery.compressed-packer.js:828

jquery-jsa-st.js:1438
jquery-packer.js:1484
jquery.compressed-packer.js:1735

jquery-jsa-st.js:687
jquery-packer.js:1236
jquery.compressed-packer.js:1234


IE5 测试数据(连续三回测试数据)

jquery-jsa-st.js:766
--------------------------------------------------------------------------------
jquery-packer.js:9765
--------------------------------------------------------------------------------
jquery.compressed-packer.js:10547


jquery-jsa-st.js:671
--------------------------------------------------------------------------------
jquery-packer.js:9002
--------------------------------------------------------------------------------
jquery.compressed-packer.js:10265


jquery-jsa-st.js:704
--------------------------------------------------------------------------------
jquery-packer.js:8232
--------------------------------------------------------------------------------
jquery.compressed-packer.js:10314

总结

文本压缩是个比较耗时的操作,像JQuery这样大的类库普遍需要接近100毫秒的解压时间。
如果需要兼容IE5这种老古董,那么最好不要用packer的文本压缩,太耗时。
JSA1 对文本压缩做了些改进,表现还可以。

如果要计较脚本文本压缩后的解压开销,建议使用JSA的语法压缩,配合服务器端的gzip压缩。
不推荐dojo 的ShrinkSafe,原因是它的几个安全问题。
分享到:
评论
9 楼 jindw 2007-06-12  
补充一下Zhou Renjian的.LZ77JSCompressor测试结果,据说解压比率非常诱人。

jquery压缩后大小 21,866,虽然在这个例子上,
配合JSA语法压缩后,可以下降到:20,012
虽然在这个例子中,相比JSA的综合压缩结果19,526逊色一些,但是根据andot对phprpc的测试结果,LZ77JSCompressor有明显优势,从19k下降到15k。
看来,压缩效果还是要因脚本而异:)

可以说JSA的文本压缩相对于LZ77JSCompressor来说,显得太简陋。
不过,对于javascript来说,简陋也不见得一定是坏事,就说解压时间,LZ77JSCompressor大概是jsa的三倍。
8 楼 andot 2007-06-10  
能像 JsMinGUI 那样合并多个js文件了吗?
7 楼 jindw 2007-06-10  
^_^,两三天后,只是ui上的一些改进:)
6 楼 andot 2007-06-10  
期待楼主的 1.0 alpha bug fixed 4 版本,也许改换成 beta 版了吧?哈哈。
5 楼 legend 2007-06-10  
http://sourceforge.net/project/showfiles.php?group_id=175776
4 楼 WinLive 2007-06-10  
怎么没找到Javascritpt analyser的下载地址呢?
3 楼 会飞的狗 2007-05-24  
越做越精了。支持!
另:html文件中的javascript片段如何压缩?
2 楼 andot 2007-05-23  
JSA 效果相当的好!顶!
1 楼 jindw 2007-05-23  
测试代码

相关推荐

    快速解压和压缩rar文件【bat脚本】

    电脑已安装rar.exe程序 内含解压rar文件和压缩rar文件的bat脚本及使用说明 使用简单 建议直接存在桌面进行解压和压缩操作,只需要修改rar文件名即可

    vbs压缩和解压zip,vbs压缩zip,vbs解压zip

    ### VBS 脚本实现 ZIP 文件的压缩与解压缩 在日常工作中,我们经常会遇到需要对文件进行压缩或解压缩的情况。对于批量处理任务,使用脚本语言可以大大提高效率。Visual Basic Script(VBS)作为Windows环境中的一种...

    BAT批处理脚本-文件相关操作-rar对指定数量的文件进行批量压缩.zip

    在IT行业中,批处理脚本是一种非常实用的自动化工具,特别是在日常文件管理和系统维护中。本文将详细探讨BAT批处理脚本以及如何使用RAR命令进行文件的批量压缩,结合提供的"rar对指定数量的文件进行批量压缩.zip...

    Zlib压缩解压工具

    Zlib库的核心算法是Deflate,它结合了LZ77压缩和哈夫曼编码,实现了高效的无损数据压缩。解压缩过程则是逆向操作,恢复原始数据。Zlib还提供了流式压缩和解压缩的功能,可以在处理大文件时避免一次性加载到内存中,...

    五种图片压缩工具【支持脚本批量压缩】.rar

    下面将详细介绍这些工具以及如何利用它们进行图片压缩和批量处理。 1. **PNGQuant**: PNGQuant 是一个开源工具,专为PNG图像设计,可以将24位PNG图像转换为8位,同时保持良好的颜色质量。它支持通过命令行参数...

    非常好用的分卷压缩脚本,可以很好的压缩分卷文件

    在这个场景中,提到的"非常好用的分卷压缩脚本"提供了一个自动化的方式来完成这一任务,显著提高了效率。 分卷压缩的基本原理是利用压缩算法对原始文件进行编码,然后将压缩后的数据分成若干部分,每部分作为一个...

    YUI compressor右键压缩脚本

    这个“YUI compressor右键压缩脚本”提供了一种便捷的方式,使得用户无需通过命令行或图形用户界面(GUI)就能快速对JS(JavaScript)和CSS文件进行压缩,大大简化了工作流程。 首先,我们来深入了解YUI Compressor...

    脚本压缩工具

    在IT行业中,脚本压缩工具扮演着至关重要的角色,它们主要负责优化网页性能,通过减少JavaScript和CSS文件的大小来加快网页加载速度。本文将详细探讨脚本压缩工具的原理、用途以及具体应用。 首先,我们需要理解为...

    批量压缩文件脚本

    批量压缩文件脚本 方便批量压缩文件,请自行修改脚本里的路径,其实我是混分的,这个脚本适合我一样的小白用

    foxpsd自主研发,ps压缩文件脚本,无损压缩

    ps自动压缩psd文件脚本,自动压缩大小,压缩后实现的foxpsd解析速度更快

    jarzip压缩文件和解压文件

    在IT行业中,文件压缩是一种常见的数据存储和传输方式,它能有效地减少文件占用的磁盘空间,便于文件的传输和管理。"jarzip压缩文件和解压文件"的主题主要涉及两种常用的压缩格式:JAR和ZIP,以及如何对这两种格式...

    下面的注释包含自解压脚本命令

    在IT行业中,自解压脚本是一种非常实用的工具,特别是在软件分发、系统维护以及自动化部署等场景下。自解压脚本是指一个能够自动解压缩自身包含的文件的程序,通常以批处理文件(如Windows下的BAT文件)或shell脚本...

    sql server通过脚本进行数据库压缩全备份的方法【推荐】

    生产环境的数据库可能比较大,如果直接进行全备而不压缩的话,备份集就会占用了大量磁盘空间。给备份文件的存放管理带来不便。 解决方案: 通过with compression显式启用备份压缩,指定对此备份执行备份压缩,覆盖...

    lz4压缩解压工具x64和x86

    这使得用户可以通过输入命令来执行压缩或解压缩任务,这种方式对于自动化脚本或者在没有图形用户界面的环境中特别有用。通过命令行,用户可以灵活地控制压缩参数,比如设置压缩级别、创建多线程压缩等。 标签中的...

    在线解压压缩PHP脚本 v1.0-源码.zip

    这个脚本旨在帮助用户在Web环境中对压缩文件进行解压操作,无需下载到本地,从而提升用户体验。 【源码学习】标签表明这个资源适合那些想要深入理解PHP编程、特别是处理文件压缩和解压缩的开发者。源码通常包含了...

    在线解压压缩PHP脚本 v1.0

    接着,我们关注这个脚本如何实现压缩和解压功能。在PHP中,可以使用内置的ZipArchive类来处理ZIP格式的压缩文件,而Gzcompress和Gzdecode函数则用于处理GZ格式的文件。ZipArchive类提供了创建、打开、添加文件、删除...

    基于PHP的在线解压压缩PHP脚本源码.zip

    在这个特定的场景下,这个脚本允许用户在Web浏览器上直接对压缩文件进行解压操作,提高了用户交互性和网站服务的便捷性。 【描述】:“基于PHP的在线解压压缩PHP脚本源码.zip” 描述中提到的是一个ZIP格式的压缩...

    windows压缩文件脚本

    脚本便捷压缩

    shellzip_文件压缩_解压_压缩_

    通过在VBA或VB脚本中调用shellzip,可以实现自动化压缩和解压任务,无需依赖外部压缩工具。 4. **VBA/VB中的文件操作**: 在VBA或VB中,可以使用FileSystemObject(FSO)来处理文件和文件夹,包括创建、删除、移动...

    PHP实现的超强在线压缩解压缩 脚本代码phpzip(亲测好用)

    在IT行业中,PHP是一种广泛应用的服务器端脚本语言,尤其在网页开发中占据了重要的地位。本文将深入探讨如何使用PHP实现在线的压缩和解压缩功能,以及如何利用名为phpzip的脚本代码来实现这一目标。 PHP的在线压缩...

Global site tag (gtag.js) - Google Analytics