php - PHP中 "include"的性能成本是多少?

标签 php performance php-include

只是想知道是否有人知道与包含 100 个类文件的大型(600K 或更多)php 文件相关的“成本”。与自动加载单个文件(例如在找到匹配项之前搜索多个目录)相比,它真的有很大区别吗?

启用 APC 缓存是否可以忽略此成本?

最佳答案

基本上,包含一个大文件的成本取决于您的用例。假设您有一个包含 200 个类的大文件。

如果您只使用 1 个类,包含大文件将比包含单个类的小类文件更昂贵。

如果您使用全部 200 个类,包括大文件将比包括 200 个小文件便宜得多。

截止点实际上取决于系统。我会想象它会在 50% 左右(如果您在任何一个请求中使用的类少于 100 个,则自动加载)。

并且使用 APC 可能会使盈亏平衡点更接近于更少的类(因此,如果没有,使用 100 个类可能是盈亏平衡点,但使用它可能是使用 50 个类),因为它使大单包含便宜得多,但是只会稍微降低每个较小的包含的开销。

确切的收支平衡点将 100% 取决于系统(您的磁盘 I/O 有多快,您的处理器有多快,有多少内存等)。因此,在您的平台上确定的唯一方法就是测试。

但是,比原始性能更危险。一个大文件会影响可维护性,因为同时处理多个类变得更加困难(IDE 中的选项卡变得无用)。我个人会将所有类保存在单独的文件中,让我作为开发人员的生活更轻松,而不是让文件成为一个巨大的怪物。

现在,如果您有 Facebook 流量级别,则可能值得进一步调查。但如果你不是,我个人不会担心......

关于php - PHP中 "include"的性能成本是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4890825/

相关文章:

php - Laravel-Excel 导出的 Excel 工作表不会将列中的日期值转换为日期

php - 在 WordPress 中重新排序对象数组

c - for 循环比较中什么更快?

未找到 PHP 前端 Controller 类(命名空间)

php - 包含函数 PHP

php - 无法连接到数据库,连接太多

php - 无法使用 IMAP 获取纯文本邮件内容

c# - UDP "Connect"- C# 中的速度

C++ 性能,for 与 while

php模板页眉和页脚