假设我有一个非常长的文件utilities.php,它包含Web应用程序使用的大部分功能(如果不是全部)。每个加载的页面都包含()这个文件,但可能只使用其中的少数几个函数。
以这种方式做事是否有任何重大缺点,表现明智?我可以根据提供的功能类型将文件拆分成几个,但严格地从性能角度来看,将所有内容都包含在每个页面中是不好的,但只运行所需的内容?
答案 0 :(得分:5)
说实话,我更关心你的代码的可维护性而不是文件的大小。 (如果您认为基于功能将代码库分解为更小的文件将更容易维护,那么这样做是明智的。)
无论如何,它在宏观方案中基本上无关紧要,因为底层操作系统很可能会在内存中缓存这些常用文件等。
此外,实际上,如果文件变得太大而导致性能问题,那么您可能需要更加紧迫的代码维护(就管理提交的文件而言 >许多函数)问题,在这一点上将函数分解为自己文件中的相关块可能是有意义的。
但是,很可能很快就不需要这样做了 - 如果你发现将来有任何减速,我建议使用分析工具(例如Xdebug)来查明问题,而不是试图猜测问题可能是什么。
答案 1 :(得分:2)
由于PHP不使用JIT方法,它会首先将脚本编译为字节码,如果脚本非常大,可能需要一些时间。但是,当使用像APC或XCache这样的optcode缓存时,它只对第一次打击很重要。随后的命中使用已经缓存的字节码版本。
答案 2 :(得分:0)
不,没关系 当遇到真正的性能问题时,您将有一个解决方案供您使用。