3

我正在开发一个 PHP 项目,它是旧 PHP 脚本的改进模型。我声称新模型在 CPU 和 RAM 使用方面会更有效。现在进行评估,我想估计这些过程中的 ram 和 cpu 使用情况。然而代码很小(一个正则表达式),但我相信高负载的输入可以自我展示。

脚本运行时,有什么方法可以计算估计值或 cpu 和 ram 使用率?

4

2 回答 2

3

CPU使用率:只是时间代码

$t_start = microtime(true);
useMyCode();
$t_end = microtime(true);

$total_time = $t_end - $t_start;

内存使用情况:您可以使用“tick function”获得一些指示:

$max_mem = 0;
register_tick_function(function() {
    global $max_mem;
    $cur_mem = memory_get_usage();
    if ($cur_mem > $max_mem) $max_mem = $cur_mem;
});

declare(ticks=1) {
    useMyCode();
}

echo $max_mem;

为了最好地估计 CPU 使用率,只需运行 10000 次。不过,这不适用于内存使用。

于 2013-07-06T19:46:49.827 回答
2

我建议使用xdebug profiler。使用它,您甚至可以准确地知道每个函数的资源使用情况,而不必估计它。

该扩展将创建所谓的 cachegrind 文件,这些文件可以通过图形工具进行分析,KCachegrind例如WinCachgrind

顺便说一句,如果您想在 php 中获得峰值内存使用率,请在最后一行添加:

echo sprintf("peak memory usage in bytes: %s\n", memory_get_peak_usage());
于 2013-07-06T19:46:41.800 回答