PHPで処理時間の計測

2014/09/03

一連の流れで各処理にかかる時間を調べたい。

実行すると妙に時間がかかるので、原因を調べたかった。
「microtime()」っていう関数を使えばいいらしいんだが・・・何か使い勝手が悪い。
※諸々勘違いしてたってのもあるんだけどね。

やりたいというより知りたいことは、「各処理の実行時間」。
毎回、echo等で出力するってのもいいんだけど、出力時の文言やフォーマットで何度もいじるのが面倒。
ということで、計測時間を配列に追加していき最後にvar_dump()でまるっと吐出せばいいんじゃないのってことで関数にしてみた。

function getProcessTime($timeBefore=0, $subTitle=’通過’) {
  if ($timeBefore != 0) {
    $time = microtime(true) – $timeBefore;
  }
  else {
    $time = 0;
  }
  
  $timeObj = array( ‘us’     => $time,
                    ‘view’   => floor($time),
                    ‘title’  => $subTitle,
                    ‘before’ => microtime(true),
                  );
  
  return $timeObj;
}

処理後に「getProcessTime()」を実行する。

引数の
・「$timeBefore=0」ってのは、実行前の時間(マイクロタイム秒)
・「$subTitle=’通過’」ってのは、出力用のラベル代わり

戻値の「$timeObj」には4つ値を持たせておく。
・「キー:us」は差分のマイクロタイム秒(小数になる場合もあり)
・「キー:view」は差分のマイクロタイム秒の整数部のみ。
・「キー:title」は出力用のラベル
・「キー:before」は次回使う「$timeBefore」に相当する。

使い方などはwikiでまとめ中
PHP 処理にかかる時間が知りたい(microtime)

新着(ニュース関連以外)

2018-07-26
年賀状で「新春」とか書くけど・・・何故なんだろうと8月を目前にした今、疑問に思った。
2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい