如果您不熟悉内部代码,如何确定PHP代码的性能影响?有没有办法弄清楚你的代码是如何执行的(除了简单地加载测试)?我正在寻找内存使用,算法执行时间等内容。
也许乔尔会说,“学习C,然后阅读内部”,但我现在没有时间学习C(尽管我很乐意,实际上)。
答案 0 :(得分:4)
使用Xdebug扩展名来分析PHP代码。
答案 1 :(得分:3)
如果你不熟悉valgrind或者类似的话,那就加入@Jordi Bunster的回答......
当您在Xdebug中进行性能分析时,可以在KCacheGrind或WinCacheGrind中打开转储的配置文件,以获得代码中花费时间的图形视图。
幸运的是,xdebug文档还详细解释了这一点以及如何解释结果:http://xdebug.org/docs/profiler
答案 2 :(得分:0)
即使您熟悉内部,您仍应加载测试您的假设。我喜欢使用PEAR Benchmark包来比较不同的代码。
如果您可以隔离代码,则可以简化负载测试。一种典型的技术是每次运行每个选项并查看哪一个更快。例如,如果你有一个类,你可以编写一个测试用例,并通过它的步调来运行它几次。
答案 3 :(得分:0)
您可以使用低级方法,例如将microtime()
和memory_get_usage()
调用粘贴到代码中,或者您可以使用现有的分析解决方案之一:
像往常一样,商业工具有很好的图形用户界面和漂亮的图片,但是花钱,免费的是免费的,但你可能需要投入更多的时间。
此外,PHP CGI二进制文件具有-T
选项的基准模式,您可以尝试运行php-cgi -T 100 yourscript.php
来做穷人的基准测试。
答案 4 :(得分:0)
请参阅SD PHP Profiler,了解可以用图形方式显示PHP应用程序花费时间的工具。