我正在寻找使用 ColdFusion 或 Java 压缩许多大文件的最节省内存的方法。我曾尝试使用<cfzip>
和使用zip.cfc
Nate Nielsen ( http://farmancreative.com/womenskiteboarding/admin/dccom/components/dcFileManagerV3/actions/cfc/zip.cfc )。对于测试,我压缩了一个目录,其中包含 80 个 mp4 文件,总计 1.18GB。结果如下。当标签运行时,我完全看不出有什么区别<cfzip>
,ColdFusion 的正常“步骤”似乎没有改变。但随之而来的zip.cfc
是更多的“锯齿”内存使用。
所以我的问题是,哪个结果更好?还是有另一种我不知道的更新方式比这两种方式更好?
我更关心内存使用而不是速度。但就速度而言,<cfzip>
是有点快。 <cfzip>
时间是 100,871。zip.cfc
时间是 141,285。
谢谢!
<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>