我正在寻找使用ColdFusion或Java压缩许多大文件的最有效内存的方法。我尝试过使用<cfzip>
并使用Nate Nielsen的zip.cfc
(http://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。
谢谢!
<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>
答案 0 :(得分:1)
我必须跑,所以现在不能输入很多,但明天会回来。以下是针对真实世界文件类型(.txt,.ppt,.doc,.swf等等)运行后的测试结果。看起来<cfzip>
比zip.cfc
更好。