使用coldfusion或java压缩文件的最有效方法

时间:2014-03-17 20:58:30

标签: java memory coldfusion zip cfzip

我正在寻找使用ColdFusion或Java压缩许多大文件的最有效内存的方法。我尝试过使用<cfzip>并使用Nate Nielsen的zip.cfchttp://farmancreative.com/womenskiteboarding/admin/dccom/components/dcFileManagerV3/actions/cfc/zip.cfc)。对于测试,我压缩了一个目录,其中包含总共1.18GB的80 mp4文件。结果如下。当<cfzip>标签运行时,我根本无法区分,ColdFusion的正常“步骤”似乎没有变化。但是zip.cfc使用了更多的“锯齿”内存。

所以我的问题是,哪个是更好的结果?或者是否有另一种我不了解的新方法比这两种更好?

我更关心内存使用而不是速度。但就速度而言,<cfzip>速度要快一些。 <cfzip>时间是100,871。 zip.cfc时间是141,285。

谢谢!enter image description here

<cfzip>测试代码:

<cfoutput>
    <cfset tBegin = GetTickCount()>
    <cfzip
        action="zip"
        source="#dir#"
        file="#zipFile#"
        storepath="false"
        overwrite="true"
        />
    <cfset tEnd = GetTickCount()>
    <cfset scriptTime = (tEnd - tBegin)>
    Script Time: #scriptTime#
</cfoutput>

zip.cfc测试代码:

<cfdirectory directory="#dir#" name="d" recurse="false">
<cfoutput>
    <cfset tBegin = GetTickCount()>
    <cfset zipper = createObject("component", "zip")>
    <cfscript>zipper.newZip(zipFile);</cfscript>
    <cfloop query="d">
        <cfset zipper.addFile(dir&d.name)>
    </cfloop>
    <cfscript>zipper.createZip();</cfscript>
    <cfset tEnd = GetTickCount()>
    <cfset scriptTime = (tEnd - tBegin)>
    Script Time: #scriptTime#
</cfoutput>

1 个答案:

答案 0 :(得分:1)

我必须跑,所以现在不能输入很多,但明天会回来。以下是针对真实世界文件类型(.txt,.ppt,.doc,.swf等等)运行后的测试结果。看起来<cfzip>zip.cfc更好。enter image description here