Coldfusion 如何将cftimer显示的时间存储在变量中?
我想将代码执行所花费的时间存储在coldfusion变量中。 有一个名为cftimer的标记,它显示代码执行所花费的时间。 有没有办法将cftimer标记显示的时间存储在变量中?使用Coldfusion 如何将cftimer显示的时间存储在变量中?,coldfusion,coldfusion-9,coldfusion-10,cfml,Coldfusion,Coldfusion 9,Coldfusion 10,Cfml,我想将代码执行所花费的时间存储在coldfusion变量中。 有一个名为cftimer的标记,它显示代码执行所花费的时间。 有没有办法将cftimer标记显示的时间存储在变量中?使用 <cfset var startTicks = GetTickCount() /> <!--- code to benchmark ---> <cfset var ticksTaken = GetTickCount() - startTicks /> 为了更好的控制。请注意
<cfset var startTicks = GetTickCount() />
<!--- code to benchmark --->
<cfset var ticksTaken = GetTickCount() - startTicks />
为了更好的控制。请注意,刻度是ms,除非是diffing(绝对值没有意义),否则与此无关。如果可以的话,尝试从圆孔中取出一个方形的销钉将是一件棘手的事情。然而,你可以很容易地使用什么来采取。。。好。。。手术前后的滴答声计数,两者之间的差异是您的持续时间。然后,您可以根据需要执行此操作。正如Adam和MaxH所述,您需要使用
getTickCount()
对脚本计时
getTickCount()不仅仅用于故障排除,您还可以用它做很多很酷的事情。如果需要,您也可以在onRequest
函数中执行此操作,以计时所有脚本,并在需要时对长脚本作出反应
<cffunction name = "onRequest">
<cfargument name = "targetPage" ...>
<cfset startTime = getTickCount()>
<cfinclude template = "#arguments.targetPage#">
<cfset processTime = getTickCount()-startTime>
<cfif structKeyExists(url,"showTime")>
<cfoutput>The page took #processTime# milliseconds to process</cfoutput>
</cfif>
<!--- you could also do other stuff like record processing times to a db or send alerts if processTime > somevalue --->
</cffunction>
处理该页面花费了#processTime#毫秒
我有一个项目,它依赖于客户订阅的大量外部数据。我将各个进程的所有处理时间保存到一个会话结构中,以便查看是我还是某个第三方web服务导致了速度减慢。如果某个web服务陷入困境,我会提醒客户,以便他们决定是否选择其他服务。谢谢,这真的很有帮助。感谢上述解释。