首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用blackfire.io分析PHP7应用程序,为什么相同的代码会有不同的cpu时间?

用blackfire.io分析PHP7应用程序,为什么相同的代码会有不同的cpu时间?
EN

Stack Overflow用户
提问于 2016-08-17 17:55:23
回答 1查看 227关注 0票数 0

我支持并修改遗留的PHP7应用程序。这个应用程序不使用自动加载,而是要求所有类都放在一个文件中,只需要遍历所有包含类的目录。老团队认为这是一种很好的优化方式。

所以我用blackfire做了一些测试,发现这可能会占用一半的cpu时间。我做了自动加载的实验,将cpu时间减少了两倍,内存消耗减少了三倍。很棒的结果。

然后,我在没有自动加载的情况下继续对旧代码进行实验,发现在某些情况下,mega-including不会消耗很多时间(而且它是有很多循环的平面文件,没有if-else语句)。

在blackfire面板中,这看起来像是包含文件具有非常独特的被调用者数量。在一种情况下,该文件具有21个被调用者并且工作132毫秒,在另一种情况下其具有6个被调用者和2.63毫秒。

我不明白为什么会有这样的差异。我的假设是PHP7非常聪明,可以分析哪些类确实应该用字节码编译,哪些不应该。

有人知道为什么会有这样的差异吗?

PS:我不能显示blackfire报告,PM不允许这样做。

EN

回答 1

Stack Overflow用户

发布于 2017-07-18 23:03:01

没有代码或报告是很难猜测的。但我会看一下这一页。也许这里解释的内容存在于您正在审查的代码中。

https://blackfire.io/docs/24-days/22-php-internals

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38993379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档