哪一个会更快更有效的记忆?
我意识到有不同的方法来调用组件的方法,比如使用createobject。现在,让我们将讨论限制在上述两个选项上。
我没有任何样本代码。只是想知道在上述情况下什么才是最佳做法。
此外,我正在使用更新版本的Adobe ColdFusion (2016、2018、2021年),因此Lucee不是一种选择。
发布于 2022-05-03 16:23:05
简而言之,备选方案2是推荐的做法。您希望将后端处理存储在CFC文件中,这些文件的作用类似于实体类和控制器类的对象,都作为CFM文件的一部分,CFM文件充当表示类。这些协议都源自面向对象的编程范例。
现在,使用组件方法通常是保存查询的更好的选择,(1)这并不意味着您受限于这个选项,(2)这不能回答哪个问题表现得更好。但是,查询仍然应该从组件方法中调用。因为您有相同的查询,所以您可以简单地创建一个有状态查询对象,并且数据和方法可以封装在同一个内存空间中,从而提高了整体性能。
发布于 2022-05-03 17:30:53
我觉得这个问题太天真了。选项(1)将更快,因为它涉及较少的代码和较少的移动部件。我非常希望看到评论中提到的测试,声称"cfinvoke“版本更快。我怀疑这个测试有缺陷,或者没有类似的测试。
然而,这种性能考虑是人们在编写好代码之后所关注的事情(所以.不是第一个选择。绝对不是这样的),而且可以检测到性能问题。在这种代码区分中,很少能获得实际的性能提升。
写好,干净,设计好,易于维护的代码.先做好。如果你真的需要的话,只会恢复到shonky代码来尝试维持最后一毫秒。但是,尽管如此:直接在<cfquery>文件中使用.cfm标记“永远不会”成为解决方案的一部分。
https://stackoverflow.com/questions/72093277
复制相似问题