15.2.4. time コマンドを使用した読み取りクロックのコストの比較

time コマンドを使用してクロックソースを 1,000 万回読み取り、利用可能なハードウェアクロックの読み取り CLOCK_MONOTONIC および CLOCK_MONOTONIC_COARSE 表現のコストを比較することができます。以下の例では、TSC、HPET、および ACPI_PM のハードウェアクロックを使用します。time コマンドの出力の暗号を解除する方法は、「ハードウェアクロックソースの読み取り」 を参照してください。

例15.5 読み取り用 POSIX クロックのコストの比較

TSC:
	~]# time ./clock_timing_monotonic

	real	0m0.567s
	user	0m0.559s
	sys	0m0.002s

	~]# time ./clock_timing_monotonic_coarse

	real	0m0.120s
	user	0m0.118s
	sys	0m0.001s

HPET:
	~]# time ./clock_timing_monotonic

	real	0m12.257s
	user	0m12.179s
	sys	0m0.002s

	~]# time ./clock_timing_monotonic_coarse

	real	0m0.119s
	user	0m0.118s
	sys	0m0.000s

ACPI_PM:
	~]# time ./clock_timing_monotonic

	real	0m25.524s
	user	0m0.451s
	sys	0m24.932s

	~]# time ./clock_timing_monotonic_coarse

	real	0m0.119s
	user	0m0.117s
	sys	0m0.001s
例15.5「読み取り用 POSIX クロックのコストの比較」 からわかるように、_COARSE クロックが使用されると、sys 時間 (ユーザープロセスで必要なタスクを実行するためにカーネルが費やした時間) が大幅に短縮されます。これは、特に ACPI_PM クロックのタイミングで明確です。これは、POSIX クロックの _COARSE バリアントにより、読み取りコストが高いクロックのパフォーマンスが向上します。