Pythonのtimeメソッド process_time_ns

Python 3.7以降では、timeモジュールにprocess_time_nsという関数は存在しません。time.process_time()関数は、CPU実行時間を秒単位で提供しますが、ナノ秒単位の精度は持っていません。

ナノ秒単位のCPU実行時間を取得するためには、Pythonの標準ライブラリには直接のサポートがないため、外部のライブラリやプラットフォーム固有の機能を使用する必要があります。特定のプラットフォームやオペレーティングシステムに依存しない方法でナノ秒単位の計測が必要な場合、timeit.default_timer()関数を使用することができます。

以下は、timeit.default_timer()関数を使用してナノ秒単位の実行時間を計測する例です:

python
import timeit

# 開始時間を取得(ナノ秒単位)
start_time_ns = timeit.default_timer() * 1e9

# 何らかの処理を行う(例: 無駄な計算)
for _ in range(1000000):
    pass

# 終了時間を取得(ナノ秒単位)
end_time_ns = timeit.default_timer() * 1e9

# 処理時間を計算(ナノ秒単位)
elapsed_time_ns = end_time_ns - start_time_ns

print(f"CPU実行時間(ナノ秒単位): {elapsed_time_ns}ナノ秒")

このコードでは、timeit.default_timer()関数を使用して開始時間と終了時間を取得し、その間に何らかの処理を行います。そして、終了時間から開始時間を引いてCPU実行時間を計算し、ナノ秒単位で表示します。

この方法を使用すると、ナノ秒単位のCPU実行時間を比較的簡単に計測できますが、プラットフォームによって微妙な違いが生じる可能性があることに注意してください。