gpt4 book ai didi

coldfusion - 在 cfscript 中编写的代码是否比基于标签的等效代码执行得更快?

转载 作者:行者123 更新时间:2023-12-03 22:20:23 24 4
gpt4 key购买 nike

今天,当我试图增强我的应用程序的性能时,根据一些 ColdFusion 开发人员的建议,我将一些基于标签的代码修改为基于 cfscript 的代码。

但我没有看到任何性能增强。它实际上似乎有点慢。

最佳答案

过去 - 我认为 - CFMX7 的情况是,大多数 CFScript 构造比基于标签的等价物更快。有时会有显着差异。从那以后,它真的什么都没有,而且确实 CFScript 代码有时会比标签中最接近的等价代码慢。例如:

for (i=1; i <= myObj.methodReturningTotal(); i++){
// stuff here
}

对比:
<cfloop index="i" from="1" to="#myObj.methodReturningTotal()#">
<!--- stuff here --->
</cfloop>

这些表面上看起来是一样的,但基于标签的会很快执行,因为 myObj.methodReturningTotal()每次迭代都会为 for 评估表达式循环,但在循环以 <cfloop> 开始之前只有一次版本。

类似地使用 <cfloop> 遍历列表和查询比使用 for 的组合稍快/ listLen()/ listGetAt()用于列表和类似的查询诡计。

真的……使用不同的代码结构并不是提高性能的好地方。最好的地方是查看您的逻辑,看看是否可以改进,并且 - 更有可能看到 yield - 查看您的数据库交互的执行情况。改进你的 SQL,看看你的索引是否正确等等,会给你带来更多的 yield ,因为 DB 交互通常是最大的性能瓶颈。

很好,顺便说一句,你对 CF 开发人员的同事所说的话持怀疑和质疑,而没有提供任何实际证据。这是处理这些事情和一般生活的好方法。

关于coldfusion - 在 cfscript 中编写的代码是否比基于标签的等效代码执行得更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17441290/

24 4 0