1

我有一些大的查询和循环,这给了我一个 excel 输出。

我在excel生成的性能方面遇到了麻烦。这需要很多时间。所以我想优化代码,我想知道我的代码的哪个块花费了多少时间?任何人都可以在这里帮忙吗?

我只想知道如何转储cfquery/cfloop/cfoutput的执行时间...?

4

2 回答 2

6

在 ColdFusion 中没有自动查看代码块执行时间的方法。粒度是在文件级别(或方法调用级别)完成的。

但是,使用内置函数很容易。我这样做:

startTime = getTickCount()
// block of code to time here
executionTime = getTickCount() - startTime

为了重复使用,我将这种东西滚动到 UDF 中:http ://www.cflib.org/udf/makeStopwatch(需要 CF10+ / Railo4+)

于 2014-04-08T11:16:03.413 回答
2

您可以将cftimer包裹在块周围,它会在调试信息中显示时间(如果启用)。或者,您可以比较对getTickCount的两次调用以获取变量中的时间,您可以根据需要输出该变量。

请记住,更改后的第一个请求包含并不总是适用的编译开销(可能值得刷新页面几次以获得平均时间)。

特别是对于查询,您可以使用诸如FusionReactor 之类的工具来检查它花费了多长时间,而无需修改您的代码。

于 2014-04-08T11:15:14.463 回答