Pythonでプロセスの実行時間をナノ秒単位で計測する方法

Pythonでプロセスの実行時間をナノ秒単位で計測するには、psutilモジュールを使用してプロセスの開始時間と終了時間を取得し、それらをナノ秒単位に変換する方法があります。以下はその方法のコード例です:

python
import psutil
import time

# プロセスIDを取得
pid = os.getpid()

# プロセスの開始時刻を取得
process = psutil.Process(pid)
start_time = process.create_time()

# ここで何らかの処理を実行する (例: ループや関数の実行)

# プロセスの終了時刻を取得
end_time = process.create_time()

# 開始時刻と終了時刻をナノ秒単位に変換
start_time_ns = start_time * 1e9
end_time_ns = end_time * 1e9

# 実行時間を計算
elapsed_time_ns = end_time_ns - start_time_ns

# 結果を表示
print(f"プロセスの実行時間(ナノ秒単位): {elapsed_time_ns} ナノ秒")

このコードでは、psutil.Process()を使用して現在のプロセスの情報を取得し、create_time()メソッドを使用してプロセスの開始時刻と終了時刻を取得しています。それらの時刻を1億(10^8)倍してナノ秒単位に変換し、その差を計算することで、プロセスの実行時間をナノ秒単位で得ることができます。

この方法を使用すると、プロセスの実行時間を高精度で計測できます。ただし、プロセスの開始と終了のタイミングによっては、計測結果に微小な誤差が含まれる可能性があります。