【问题标题】:Is performance affected if all files are included in project?如果所有文件都包含在项目中,是否会影响性能?
【发布时间】:2016-02-25 17:08:59
【问题描述】:

所以,例如,如果我有这个目录结构和一些示例文件:

/app
- /Modules
- /Core
    - Router.php
- /Library
    - Hooks.php
    - Autoloader.php
- /Controllers
- /Models

...使用自动加载器加载每个文件会对性能产生多大的影响,以便所有类都可以通过 use MyProject\Library\ClassName 这样简单的东西来使用?

【问题讨论】:

  • 这个其他回答的问题可能会提供一些方向stackoverflow.com/questions/8240726/…
  • 如果您自动包含所有内容,那么您将占用大量内存,并且内存分配/释放是很大的性能开销;仅包含正在执行的脚本所需的内容,并且内存开销要低得多,因此性能开销也更少......使用编写得体的自动加载器,您甚至可以减少传统的自动加载器开销
  • @MichaelLeaCrawford 谢谢,这很有帮助。
  • @MarkBaker 谢谢你,这让我对此有了更好的了解。

标签: php performance


【解决方案1】:

如果您只包含必要的文件,那么使用自动加载器对性能的影响很小。如果您发现包含不使用的文件,则使用自动加载器将提高性能。

请参阅 https://athos.blogs.balabit.com/2011/03/php-autoload-performance/ 以了解 autoloadersinclude_onceinclude 的基准。

【讨论】:

    猜你喜欢
    • 2018-03-20
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    相关资源
    最近更新 更多