PHPでのプログラミングにおいて、時々、一秒以下の時間を扱いたいという場合があります。
特にパフォーマンスの測定や、高精度なタスクスケジューリングを行いたい時にはマイクロ秒(1秒の100万分の1)の計測が必要になります。
ここでは、PHPでマイクロ秒をうまく扱う方法やその活用例について詳しく解説します。
microtime()関数の基本
PHPでマイクロ秒単位の時間を取得するための関数としては、「microtime()」があります。
これは、現在の Unix タイムスタンプをマイクロ秒単位で取得するための関数です。
<?php
echo microtime();
?>
しかし、そのままでは、”0.12345600 1234567890″というような形で、マイクロ秒と秒が文字列型で返ります。
つまり、マイクロ秒と秒が別々で、とても扱いづらいです。
そのため、実際には計算や比較を行うためには、次のように「microtime(true)」を使用して、浮動小数点数で取得することが一般的です。
<?php
echo microtime(true);
?>
マイクロ秒を活用した実用的な例:処理時間の計測
maicrotime()関数が一番活躍する事例として、「処理時間の計測」があります。
例えば、特定のプログラムがどの程度の時間を要しているか、それが高速化できるかを追求したいときに使用します。
下記にその一例を提示します。
<?php
$start_time = microtime(true);
// 測定したい処理
for ($i = 0; $i < 1000000; $i++) {
}
$end_time = microtime(true);
// 処理時間を秒単位で計算
$process_time = $end_time - $start_time;
echo "Processing time: {$process_time} sec.";
?>
上記コードでは、「microtime(true)」でマイクロ秒単位の現在時刻を取得し、その後に処理を実行した後再度現在時刻を取得します。
その2点間の時間差(=処理時間)が、マイクロ秒単位で計算されます。
まとめ
このように、PHPでマイクロ秒を扱う方法として、その基本である「microtime()」関数と、実際に処理時間を計測する方法を紹介しました。
パフォーマンスの最適化や、精密なスケジューリングに迫るためには、ぜひマイクロ秒の扱いをマスターしてください。
以上、PHPでマイクロ秒を扱う方法についてでした。
最後までお読みいただき、ありがとうございました。