记录时不会浪费时间

时间:2010-12-20 12:00:42

标签: php

格雷茨研究员!

我正在寻找一种记录CLI脚本操作的方法,而不会浪费时间。我做了一些基准测试,我发现在每次操作后echo进行操作时,脚本的速度将慢近2倍,并且通过将操作添加到日志文件中,速度将慢17倍。

那么,任何人都有解决方案吗?

3 个答案:

答案 0 :(得分:0)

记录到文件应该比回显到屏幕快得多(这是显示最有可能限制的文本的过程)。

因此,您可以简单地将调试写入文件并(如果需要)“tail -f”文件以查看实时调试。 (我假设你在Linux / Unix下运行等)。

作为建议:

function logDebugToFile($string) {

    // Set defaults...
    $filename = 'INSERT REQUIRED PATH/FILENAME HERE.log';

    $ourFP = fopen($filename, 'a+');
    if (is_resource($ourFP)) {
        fwrite($ourFP, $string."\n");
        fclose($ourFP);
        return true;
    }

    return false;
}

答案 1 :(得分:0)

如果您使用的是CLI,我猜你可以测试一下:

YOUR_SCRIPT.php > /tmp/log.txt &

内部YOUR_SCRIPT.php

<?
  /* some action */
  echo date('r').some_action_1()."\n";   <-- this is bad  # REMARK 1
  echo date('r').some_action_2()."\n";

  echo date('r'), some_action_1(), "\n"; <-- this is nice # REMARK 2
  echo date('r'), some_action_2(), "\n";
?>

使用

进行监控
tail -f /tmp/log.txt

REMARK 1慢的原因是因为函数先执行,而REMAKR 2没有(先输出)

答案 2 :(得分:0)

登录TCP资源/套接字。并在网络上添加一个监听器。所以没有I / O.