我有一些大的查询和循环,这给了我一个excel输出。
我在excel一代的表现上遇到了麻烦。这需要很多时间。所以我想到了优化代码,为此我想知道我的代码块占用了多少时间?请问有谁可以帮忙吗?
我只想知道如何转储cfquery / cfloop / cfoutput的执行时间......?
答案 0 :(得分:5)
在ColdFusion中没有自动查看代码块执行时间的方法。粒度在文件级别(或方法调用级别)完成。
然而,使用内置函数很容易。我这样做:
startTime = getTickCount()
// block of code to time here
executionTime = getTickCount() - startTime
为了重复使用,我将这种东西变成了UDF:http://www.cflib.org/udf/makeStopwatch(需要CF10 + / Railo4 +)
答案 1 :(得分:2)
您可以在块周围包裹cftimer,这会在调试信息中显示时间(如果已启用)。或者,您可以将两次调用getTickCount进行比较,以获得变量中的时间,您可以根据需要输出变量。
请记住,更改后的第一个请求包含的编译开销并不总是适用(为了获得平均时间,可能需要刷新页面几次)。
对于特定的查询,您可以使用FusionReactor等工具来检查所需的时间,而无需修改代码。