有没有办法在PHP中测量解析时间?

jsc*_*rab 7 php benchmarking opcode-cache

通过运行时基准测试优化PHP代码是直截了当的.通过代码块周围的microtime()跟踪$ start和$ end times - 我不是在寻找涉及microtime()用法的答案.

我想做的是衡量PHP准备运行代码所需的时间 - 代码解析/操作代码树构建时间.我的理由是,虽然只包含()您在站点上的每个页面可能需要的每个类,但CPU开销不能"免费".我想知道解析时间到底是多么"昂贵".

我假设像APC这样的操作码缓存不是场景的一部分.

我是否正确,PHP中的解析时间测量是否必须在mod_php中进行?

编辑:如果可能,考虑到$_SERVER['DOCUMENT_ROOT']代码中的使用将是有帮助的.命令解决方案可能需要做一些修改(但仍然是有价值的答案).

Kor*_*nel 9

是.有.

<?php return; rest of the code ?>
Run Code Online (Sandbox Code Playgroud)

要么

<?php whole code; $%^parse erorr!@! ?>
Run Code Online (Sandbox Code Playgroud)

然后比较运行空脚本的时间

time php empty.php
Run Code Online (Sandbox Code Playgroud)

随着时间的推移运行(或失败)常规脚本与我上面提到的添加:

time php test.php
Run Code Online (Sandbox Code Playgroud)

我在大文件上使用过这种方法,Core2Duo 2.4Ghz上的PHP5.3每秒可以解析1.5到4.5MB的PHP代码(当然,这很大程度上取决于代码的复杂性).