HRTIME拡張は、高精度のタイムスタンプを取得するためのPHPの拡張です。これは、ナノ秒の精度を提供することができ、パフォーマンステストや最適化などの高精度タイミングが必要なシナリオに適しています。この記事では、HRTIME拡張機能と関連する予防策をインストールして使用する方法を詳細に紹介します。
HRTIME拡張機能をインストールする前に、次の条件を確認する必要があります。
まず、HRTIMEのGitHubリポジトリからソースコードをダウンロードします。次のコマンドを使用してクローンできます。
<span class="fun">gitクローンhttps://github.com/php/hrtime.git</span>
ソースコードディレクトリを入力します:
<span class="fun">CD hrtime</span>
次のコマンドを実行して、HRTIME拡張機能をコンパイルしてインストールします。
phpize
./configure
make
make install
PHPの構成ファイルphp.iniを編集し、次の行を追加して、HRTIME拡張機能を有効にします。
<span class="fun">extension = hrtime.so</span>
ファイルを保存して、PHPサービスを再起動します。
HRTIME関数を使用して、現在の高精度タイムスタンプを取得します。 HRTIMEは、秒数とナノ秒を返します。配列の最初の要素は秒で、2番目の要素はナノ秒です。
$time = hrtime();
$seconds = $time[0];
$nanoseconds = $time[1];
HRTIME拡張機能は、HRTIME_DIFF関数を提供して、2つのタイムスタンプ間の時差を計算します。スタートとエンドのタイムスタンプを受け入れ、時差を含む配列を返します。
$start = hrtime();
// Some code here
$end = hrtime();
$diff = hrtime_diff($start, $end);
$seconds = $diff[0];
$nanoseconds = $diff[1];
HRTIME拡張機能は、高解像度タイマーをサポートするためにハードウェアに依存しています。一部のシステム、特に仮想マシン環境では、ナノ秒レベルの精度は得られず、通常はマイクロ秒レベルの精度のみを取得できます。
HRTIME拡張は、PHP 7.3以上に適しています。 PHPの低いバージョンでは、MicroTime関数を使用してより高い精密タイムスタンプを取得できますが、ナノ秒レベルの精度を達成することはできません。
HRTIMEは高精度のタイミング関数を提供しますが、パフォーマンスのオーバーヘッドをもたらします。それを使用する場合、タイミングの正確性とパフォーマンスのオーバーヘッドのバランスをとる必要があります。
HRTIME拡張は、PHP開発者がパフォーマンステストの精度を向上させるための重要なツールであり、高精度のタイミングが必要なシナリオに適しています。パフォーマンスの影響は使用されると考慮されますが、それが提供するナノ秒タイミングの精度は、間違いなく多くの開発シナリオで役立つ可能性があります。