以前に私が作った実行時間測定クラスを紹介します
<?php
/**
* <pre>
* 処理の実行時間を測定するクラス
* IDを利用して複数の処理時間を計測可能
* </pre>
*/
class Measure{
var $_lists; //測定する処理ごとのIDと開始時の時間
//IDを生成するためのタネ
var $_idTane = array("scjklsfadlsdf","slsdvnfaoefa834ja","aasiasdioffaf54a6fkbns"
,"ajfkldjsalk","3456i7uiojvncfAIK","vnz,mjeopui");
/**
* コンストラクタ<br />
* 乱数の初期化を行う
* @param void
* @return void
*/
function Measure(){
srand(microtime() * 5545);
}
/**
* <pre>
* カウントをスタート
* </pre>
* @param void
* @return $id :カウントID
*/
function start(){
shuffle($this->_idTane);
//ハッシュのタネ生成
$limit = rand(0,count($this->_idTane));
for($sa = 0;$sa <= $limit;$sa++){
$ID .= $this->_idTane[rand(0,count($this->_idTane))];
}
$ID = md5($ID); //ハッシュ計算
$this->_lists[$ID]['starttime'] = $this->getmicrotime();
return $ID;
}
/**
* <pre>
* カウントをストップ
* </pre>
* @param $id :カウントID
* @return $time :実行時間
*/
function stop($ID){
if($this->_lists[$ID]){
$this->_lists[$ID]['endtime'] = $this->getmicrotime();
} else {
return null;
}
$results = ($this->_lists[$ID]['endtime']) - ($this->_lists[$ID]['starttime']);
return $results;
}
/**
* <span style="color:red;">マイクロタイム</span>を取得
* @param void
* @return $microtime :取得したマイクロタイム
*/
function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$sec + (float)$usec);
}
}
?>
使い方:
<?php
$measure = new Measure();
$id = $measure->start(); ←これで測定開始。複数使うとで複数の測定が可能!?(試してません)
for($count = 0;$count < 1000;$count++)
{
//テストなので何もしない
}
echo $measure->stop($id); ←これで時間を取得する
?>
補足
ご回答、ありがとうございます。 及び、返答が大変遅くなってしまい申し訳ございません。 質問ですが、コレは何のスクリプトですか? 時間にハッシュで生成したIDを付けて配列にしたりしているようなのですが、実際の時間計測に関してはもう一人の方の参考URLにある例1の方法でやっているように見えますが?(違ったらゴメンナサイ)