只是想知道是否有人知道与包含 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/