【问题标题】:Is there free and good line-level profiler for PHP?是否有免费且良好的 PHP 行级分析器?
【发布时间】:2009-07-11 05:40:49
【问题描述】:

是否有免费且良好的 PHP 行级分析器?我正在使用 xdebug,它相对较好,但它给了我函数级别的输出,有时很难看到函数中花费的所有时间到底在哪里。

【问题讨论】:

    标签: php profiler


    【解决方案1】:

    不是免费的,但SD PHP Profiler 提供有关每个 PHP 代码块的相对成本的信息,而不仅仅是函数:

    【讨论】:

    • 我想不出更复杂的界面:)
    • 试图遵循这个建议。评估副本是如此残缺无用 - 3 个代码文件,每个不超过 1000 行......程序依赖于环境变量,安装程序没有正确安装它们 - 为什么不写一个配置文件...?真的令人沮丧,因为屏幕截图中的输出看起来非常好,它只是围绕着一个非常困难的 UI。支持多种语言,但就 UI 而言,只考虑了一种开发人员视角的范例。
    • @gazarsgo:据我们所知,环境变量已正确安装。我们很乐意(?)接受反馈,告诉我们您使用的操作系统版本,以及您认为环境变量错误的原因。较新版本的 Windows 要求您注销并重新登录以使环境变量设置生效(感谢 Microsoft)。您是否尝试运行该示例?
    【解决方案2】:

    Zend Platform 将为您提供一些更精确的分析信息。它或使用 webgrind 和 zend studio / Eclipse profiler 为您提供性能信息。

    【讨论】:

      【解决方案3】:

      我正在使用 microtime(),它非常适合我。

      【讨论】:

        【解决方案4】:

        不知道有没有这样的profiler。
        如果可能,解决方法可能是将被确定为瓶颈的长函数拆分为较小的函数。这不仅是一种很好的编程实践(虽然我认为并不总是很容易实施),而且它还可以更准确地定位问题。

        【讨论】:

          【解决方案5】:

          bytekit,它是一个操作码反汇编器。这将使您详细了解正在发生的事情。或者,您可以使用 C 级调试器,例如 gdb。这让您可以更仔细地观察,因为您可以调试到 C 级函数。

          【讨论】:

            【解决方案6】:

            我比较确定我使用 Xdebug 和 KCacheGrind 获得了行级输出。它可能会根据函数花费的时间报告那些带有函数调用的行,但无论如何。

            【讨论】:

            • 不,它可以显示源代码和有关从该行调用函数花费了多少时间的信息。但它对只使用语言结构的行没有帮助。
            猜你喜欢
            • 2023-03-16
            • 1970-01-01
            • 2010-12-03
            • 2011-01-28
            • 2010-09-09
            • 1970-01-01
            • 2012-03-10
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多