15.2.4. time コマンドを使用した読み取りクロックのコストの比較
time コマンドを使用してクロックソースを 1,000 万回読み取り、利用可能なハードウェアクロックの読み取り CLOCK_MONOTONIC および CLOCK_MONOTONIC_COARSE 表現のコストを比較することができます。以下の例では、TSC、HPET、および ACPI_PM のハードウェアクロックを使用します。time コマンドの出力の暗号を解除する方法は、「ハードウェアクロックソースの読み取り」 を参照してください。
例15.5 読み取り用 POSIX クロックのコストの比較
TSC: ~]#time ./clock_timing_monotonicreal 0m0.567s user 0m0.559s sys 0m0.002s ~]#time ./clock_timing_monotonic_coarsereal 0m0.120s user 0m0.118s sys 0m0.001s HPET: ~]#time ./clock_timing_monotonicreal 0m12.257s user 0m12.179s sys 0m0.002s ~]#time ./clock_timing_monotonic_coarsereal 0m0.119s user 0m0.118s sys 0m0.000s ACPI_PM: ~]#time ./clock_timing_monotonicreal 0m25.524s user 0m0.451s sys 0m24.932s ~]#time ./clock_timing_monotonic_coarsereal 0m0.119s user 0m0.117s sys 0m0.001s
例15.5「読み取り用 POSIX クロックのコストの比較」 からわかるように、
_COARSE クロックが使用されると、sys 時間 (ユーザープロセスで必要なタスクを実行するためにカーネルが費やした時間) が大幅に短縮されます。これは、特に ACPI_PM クロックのタイミングで明確です。これは、POSIX クロックの _COARSE バリアントにより、読み取りコストが高いクロックのパフォーマンスが向上します。