PHP 中“include”的性能成本是多少?

2024-01-21

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

如果启用 APC 缓存,此成本可以忽略不计吗?


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

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

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

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

使用 APC 可能会使盈亏平衡点更接近于更少的类别(因此,如果不使用 APC,则使用 100 个类别可能是盈亏平衡点,但如果使用 APC,则可能会使用 50 个类别),因为它使大型单包括更便宜,但只会降低每个人的开销稍小一些。

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 中“include”的性能成本是多少? 的相关文章

  • 从数据库结果生成多维数组的递归函数

    我正在编写一个函数 它接受页面 类别数组 来自平面数据库结果 并根据父 ID 生成嵌套页面 类别项目数组 我想递归地执行此操作 以便可以完成任何级别的嵌套 例如 我在一个查询中获取所有页面 这就是数据库表的样子 id parent id t
  • 如何处理 file_get_contents() 中的 403 错误?

    我在使用时遇到 403 错误file get contents 我想这样处理这个错误 if required function file get contents url detects there is a 403 error do so
  • XAMPP Windows 上的 Php Cron 作业

    嗯 我是这个词的新手CRON 据我所知 这是一个Unix安排特定操作在定义的时间间隔后执行的概念 我需要运行一个php文件 每小时更新一次数据库 但我的困惑在于安排执行 我在用XAMPP用于 Windows 7 上的本地开发测试 我发现了什
  • 如何创建一个每次调用公共方法时都会调用的方法?

    如何创建一个每次调用公共方法时都会调用的方法 您也可以说这是一个后方法调用挂钩 我当前的代码
  • 如果用户登录,则更改引导程序中的导航栏

    我有一个标准菜单 包括 登录 和 创建用户 的选项 我想要的是 当您创建用户或登录整个导航栏菜单来更改 例如 我的用户页面 和 注销 时 我该怎么做 div div
  • 通过单击按钮更改 PHP include ("link.php")

    如何通过单击按钮更改 PHP include link html BUTTON 1 change to BUTTON 2 change to BUTTON 3 change to 如何在不刷新页面的情况下执行此操作 使用ajax Wrap
  • 如何为 eclipse PHP 调试设置正确的 URL

    我在使用非标准 URL 在 Eclipse 中设置 PHP 调试时遇到问题 我的应用程序的 URL 必须是http xxx index php http xxx index php 这是我无法轻易改变的 我在设置调试配置来调用此 URL 时
  • 如何在 PHPUnit 中跨多个测试模拟测试 Web 服务?

    我正在尝试使用 PHPUnit 测试 Web 服务接口类 基本上 这个类调用肥皂客户端目的 我正在尝试使用 PHPUnit 测试此类getMockFromWsdl这里描述的方法 http www phpunit de manual curr
  • after_or_equal 验证在 laravel 5.2 中不起作用

    我想比较 start date 和 end date 并且 end date 应等于或大于 start date 我正在使用 after or equal 验证 return Validator make data start date g
  • 我如何修复此 php 代码导致的本月最后一天错误?

    下面的代码是我用于网站菜单的代码 它将当前月份页面的链接移动到月份更改时的链接列表的顶部 但在某些月份的 31 号 例如 4 月 这会失败 对于大多数链接 我得到了同一个月的两个链接 我已经阅读了 php 生成日期方式的问题 但不知道如何更
  • 子目录中的 CakePHP 控制器和模型

    你好 我想知道如何将我的组件和模型放在子目录中 假设我有一个 Web 应用程序 它有 3 个不同的区域 管理员 用户 开发人员 每个区域执行不同的操作并具有完全不同的界面 所以我希望管理员去http www site com admin h
  • 为什么我们要关闭 Mysqli 中的结果

    为什么我们要关闭 result mysqli new mysqli localhost root root test if mysqli gt connect errno echo Failed to connect to MySQL my
  • 帮助将二进制图像数据从 SQL Server 读取到 PHP 中

    我似乎无法找到将二进制数据从 SQL 服务器读取到 PHP 的方法 我正在开发一个项目 需要能够将图像直接存储在 SQL 表中 而不是文件系统上 目前 我一直在使用这样的查询 插入 myTable 文档 选择 从 OPENROWSET BU
  • 将 mod-rewrite 添加到现有 PHP 网站

    我正在更新一个 php 应用程序 该应用程序当前不使用 url 重写 目的是隐藏文件扩展名 网站总体结构如下 root index php login php page1 php page2 php page3 php page4 php
  • 如何使用 php 通过 https 下载文件

    我需要使用 PHP 下载 xml 文件 我可以在对文件进行curl 调用时通过设置以下选项来读取文件的内容 curl setopt http CURLOPT SSL VERIFYPEER false curl setopt http CUR
  • 如何使用 facebook 用户登录我的网站?

    我想知道 facebook 如何让用户登录我们的网站 我的意思是用户需要注册到我的网站才能发表评论 我如何通过我的 php 代码检查它是否是登录用户 我听说你只能用javascript检查它是否是登录用户 感谢您的任何解释 您可以使用脸书
  • localhost/test.php 不返回任何内容

    我正在遵循教程构建一个网络应用程序 我创建了一个简单的test php网络空间中的文件 var www html 问题是当我输入localhost test php在浏览器地址窗口中 它返回一个空页面 我试过localhost php in
  • Apache“无法初始化模块”,因为更改 PHP 配置后模块和 PHP 的 API 不匹配

    php v 给出了这个 PHP Warning PHP Startup memcache Unable to initialize module Module compiled with module API 20060613 PHP co
  • exec()、shell_exec()、curl_exec() 的安全漏洞

    有时 我会使用 exec shell exec 和curl exec 以下是典型用途 假设其中有 PHP 变量 即第一个变量中的 html 用户有可能修改其内容 从安全漏洞的角度来看 我应该关注什么 escapeshellcmd 和 esc
  • 系数函数速度慢

    请考虑 Clear x expr Sum x i i 15 30 CoefficientList expr x Timing Coefficient Expand expr x 234 Timing Coefficient expr x 2

随机推荐

  • 访问 DOM 或 Shadow DOM 的 Web 组件的父上下文

    Context 我正在不同的上下文中进行有关 Web 组件组合的测试 特别是 我试图通过在以下位置中的搜索过程从另一个 Web 组件访问其中一个组件来关联多个 Web 组件 DOM Shadow DOM所涉及的组件 Problem 假设我们
  • 有角材料。鼠标悬停时突出显示表格行

    我们在我们的应用程序中使用 Angular Material 表 https material angular io components table overview https material angular io component
  • 导入 com.google.android.maps.geopoint 无法解析

    我有 Java GoogleMAP 项目 这不是 android 项目 我之前使用 KML 完成过这个项目 现在Google已经改用JSON XML了 我需要将坐标保存在数据库 postgresql 中的 2 个位置内 然后根据这个我将在M
  • 我有一个多模块 Maven 2 POM,它有两个 WAR,我如何配置它以在运行测试之前部署这两个 War?

    粗略地说 我有 比如说 项目 A pom 包装 它有两个模块 M1 和 M2 比如说 每个模块都有 war 包装 M2 有集成测试 但 M2 战争对 M1 战争进行了服务调用 这确实应该 将相同的数据加载到数据库中 部署 M1 的 WAR
  • 无法从类型 Two 对非静态方法 fxn(int) 进行静态引用 [重复]

    这个问题在这里已经有答案了 可能的重复 无法从静态上下文引用非静态方法 背后的原因是什么 https stackoverflow com questions 290884 what is the reason behind non stat
  • EF代码首先不创建数据库

    这是我的代码 public void ConfigureServices IServiceCollection services services AddDbContext
  • itunesconnect 处理失败

    I had archieved the xcode project and uploaded it into itunes connect This is 5 time uploading for internal testing It s
  • 为什么 window.addEventListener('scroll', this.someScrollHandler, false) 在 IE 10 上不起作用?

    我目前正在构建一个带有滚动处理程序的 React 应用程序 用于在无限滚动组件中加载更多数据 我在用着window addEventListener scroll this someScrollHandler false 带限制 适用于除
  • 如何在本地设置多个NPM用户?

    我使用两个 NPM 帐户 公共帐户和私人帐户 我该如何设置才能不需要npm login每次我在不同的帐户上发布模块时 UPD 寻找 NPM 内置解决方案 因此没有 shell 脚本等 这就是我使用 4 个不同的 NPM 登录解决该问题的方法
  • 工作簿已打开,但我仍然收到 VBA 下标超出范围错误

    我正在尝试通过我的宏脚本打开工作簿 每次尝试打开工作簿时都会重复出现此错误 我面临的问题是当我使用 Workbooks Open strFilePath where strFilePath genericfilepath FileDupli
  • 使用强分类器进行 boosting 的效果

    使用强 而不是弱 错误率接近随机 分类器进行 boosting 会产生什么效果 一个强分类器单独使用是否会比在 adaboost 中与一堆弱分类器一起使用时表现更好 对的 这是可能的 一切都取决于您的学习数据集 看看没有免费的午餐定理 总是
  • CSS溢出:隐藏剪切阴影

    现在是这样的 当我禁用时overflow hidden 阴影通常遍布四周 但当它打开时 它会在左侧和顶部被切割 我不知道为什么它只切割这两侧 但目前看起来仍然不太好 如何摆脱它 Code toolong width 80 overflow
  • django 错误 - ImportError:没有名为 apps 的模块

    我正在尝试创建第一个名为 mysite 的 django 项目 我的项目的结构是 mysite manage py mysite init py settings py urls py wsgi py polls init py admin
  • 应用程序关闭前的 Ionic 运行功能

    是否有某种我可以调用的函数来侦听应用程序是否即将退出 关闭或进入后台 基本上任何意味着 用户已停止使用该应用程序 的事件 我是我的应用程序 我建立了一个 用户日志 用于跟踪用户在应用程序中导航时的情况 我不想在这些事件发生时不断向服务器发送
  • Django 标签云插件 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • RavenDb - 递归查询/索引,用于分层文档

    我知道这可能是一个有点愚蠢的问题 可能会这样做 错了 但我会以任何方式询问 假设我有一组层次结构文档 它们包含的关于其在层次结构中的位置的唯一信息 是他们的家长 ID 如果它为空 我们就到达了顶部 吸引父母和孩子是最容易的部分 我想做的是查
  • Jenkins + Github Pull 请求构建器显示名称

    对于我们的项目 我们使用 GitHub 我们启用了 TravicCI 因为这是我们项目使用所必需的 除此之外 我们还有一个与拉取请求构建器一起运行的 Jenkins 完整实例 Now this all works fine and in t
  • 如何在 swift 中使用泛型类型处理不同类型?

    我正在尝试编写一个类 它允许我轻松地在两个值之间进行插值 class Interpolation class func interpolate
  • “/”应用程序中的服务器错误。系统.Web.Http.WebHost

    我正在尝试发布 ASP NET MVC 4 Internet 应用程序 发布后 我继续单击我的网站链接并找到 应用程序中的服务器错误 无法加载文件或程序集 System Web Http Version 4 0 0 0 Culture ne
  • PHP 中“include”的性能成本是多少?

    只是想知道是否有人知道与包含 100 个类文件的大型 600K 或更多 php 文件相关的 成本 信息 与自动加载单个文件 例如在找到匹配项之前搜索多个目录 相比 它真的有很大区别吗 如果启用 APC 缓存 此成本可以忽略不计吗 基本上 包