将一个.cfm函数包含在CFC中,价格昂贵吗?

Hen*_*nry 2 coldfusion cfc

任何人都知道cfincludeCFC中许多功能的.cfm 有多贵?

<cfcomponent>
  <cfinclude template="functions.cfm">
Run Code Online (Sandbox Code Playgroud)

或者如果我将函数直接附加到其This范围内,它会更快吗?(func1,func2将是singleton Factory对象的函数).

<cffunction name="createX">
  <cfset x = new X()>
  <cfset x.func1 = func1>
  <cfset x.func2 = func2>
Run Code Online (Sandbox Code Playgroud)

哪一个在性能和内存使用方面更有效?

实际上,cfinclude效率如何?代码是否会在每个包含上编译?

Ada*_*ron 8

适合StackOverflow的简短响应:

你要记住,它不是被执行的CFML,所以出于性能考虑,看看更显著的事情是什么ColdFusion的实际执行,这是编译的类文件.在编译CFC时,CF为CFC本身创建一个类,在CFC中为每个方法创建一个类.无论方法是内联还是单独包含,这都是相同的.类的内容略有不同,但就性能而言,并不是一种有意义的方式.

然而,还有一些需要考虑的因素 - IMO - 只是将方法放入CFC.

更长的答案:我已经在我的博客上发布了一个更大的分析(因为你的问题偏离主题,所以不完全适合这里),在这里 ......