【发布时间】:2011-05-18 14:33:46
【问题描述】:
我在某处读到过,PHP 中的 include_once 和 require_once 语句比它们的非一次性语句慢。这是一个明显的放缓吗?是否对此进行过任何测试或研究,在最近的 PHP 版本中是否发生了变化?
【问题讨论】:
标签: php
我在某处读到过,PHP 中的 include_once 和 require_once 语句比它们的非一次性语句慢。这是一个明显的放缓吗?是否对此进行过任何测试或研究,在最近的 PHP 版本中是否发生了变化?
【问题讨论】:
标签: php
速度提升是最小的,并且是在进行参考检查以防止代码重复时进行的。 'once' 附件是针对相同代码被执行/包含两次的预防措施。执行此检查的速度成本很小。
如果你曾经使用过_once 的实例,看看为什么会这样,你的代码真的是以最有效的方式构建的吗?消除对_once 的依赖并生成更好的代码通常会更好(说起来容易做起来难!)。
见:
http://forums.digitalpoint.com/showthread.php?t=1693837
http://www.phpbb.com/community/viewtopic.php?f=71&t=565933
http://www.sitepoint.com/forums/showthread.php?t=269085
http://www.quora.com/What-is-the-difference-between-functions-include-and-include_once-in-PHP
【讨论】:
include_once 和 require_once 函数比 include 和 require 慢,仅仅是因为它们会跟踪已经包含的文件,以避免多次包含它们。
但这一点都不重要,因为可能有很多方法可以优化您的应用程序,比这个更有效。
【讨论】:
include_once 和 require_once 函数只有在脚本运行恰好一次时才会变慢。如果通过include 包含特定脚本foo.php,则每次都会运行它。如果它是通过include_once 包含的,那么检查它是否已运行的速度成本最低,但在除第一次之外的每次运行时,脚本都不会执行。