插件中的文件数量是否会影响性能?

时间:2016-09-27 作者:user1889580

如果我有一个包含1个php文件的插件和另一个包含100个php文件、50个图像、一些css/js等的插件,那么该插件中文件的实际数量会影响性能。我知道代码的质量很重要,但在这种情况下,我想知道wordpress是扫描插件目录中的所有文件,还是只加载主{pluginname}。php文件?

例如,一个包含100个php文件的插件,这些文件都不包含在主{pluginname}中。php文件。这是否意味着wordpress将忽略所有这些文件,而不会对性能产生任何影响?

1 个回复
最合适的回答,由SO网友:markratledge 整理而成

你太担心一些无关紧要的事情了。WordPress不在乎你有多少PHP文件;PHP解释器可以。PHP解释器实际上并不关心文件的数量,直到它实际访问这些文件并执行代码为止。无论出于何种目的,解释器都不会访问文件,除非代码告诉解释器。

现代服务器和PHP速度如此之快,以至于解释器读取文件的速度不会有明显的差异。有了10000个文件,速度可能会放缓。但更多的是服务器、操作系统、存储器(HD或SSD)、RAM等,处理文件本身和目录结构,而不是每个文件中的PHP代码。

现在,这些PHP文件中的内容将产生不同。PHP解释器的速度取决于服务器的CPU。缓慢的共享服务器=缓慢的PHP执行。如果你想用PHP计算pi,你会发现PHP会占用大量CPU,速度会很慢,这取决于服务器。

如果您使用PHP调用具有复杂查询的数据库,或者调用依赖于其他服务器的外部资源,那么这些都是与PHP执行有关的性能影响,而不是与文件数量有关。

是的,即使只有一个PHP文件,如果你在这一个文件中做一些奢侈的事情,插件也会很慢。PHP代码及其作用是问题所在,而不是PHP文件的原始数量。文件和其中的代码就放在那里,等待执行;执行需要时间并影响性能。

WordPress将加载插件的主PHP,然后PHP在该文件中执行命令;如果主PHP文件告诉PHP再加载1000个文件,并且每个文件中都有可执行的挂钩、数据库调用等,那么是的,插件可能会很慢。

编辑:正如评论中所指出的,我甚至没有考虑PHP缓存,这会对操作系统、文件系统和PHP解释器的性能产生巨大的影响。