Python3でプログラムの処理速度を計測する方法
Python3でプログラムの処理時間を計測する方法をご紹介いたします。
実行環境
パソコン:MacBook Pro 13-inch,2 GHz Intel Core i5,メモリ8 GB 1867 MHz LPDDR3
Rのバージョン:R 3.3.2
Pythonのバージョン:Python 3.6.2
終了時刻から開始時刻を引く
プログラムが動いてる時間なので、単純なアルゴリズムですが、
処理時間 = 終了時刻-開始時刻
とします。これはtimeモジュールを用いて以下のように書きます。
import time #timeモジュールのインポート
stratTime = time.time() #プログラムの開始時刻
#処理
j = 0
for i in range(10000000):
j += i
endTime = time.time() #プログラムの終了時刻
runTime = endTime - stratTime #処理時間
print(runTime) #処理時間を表示結果は、1.553696870803833秒でした。
プログラム内のtime.time()ですが、これはエポック秒を返す処理を行います。
全く同じ処理をR言語でやってみる
蛇足にはなりますが、R言語でも全く同じ処理をして時間を計測してみました。以下がそのプログラムになります。
startTime = Sys.time() #開始時刻
#処理
j = 0
for(i in 1:10000000)
{
j = j + i
}
endTime = Sys.time() #終了時刻
print(endTime - startTime) #処理時間結果は、2.787826秒。Pythonの約2倍の時間がかかります。
また、R言語では、system.time()という実行速度を計測する関数があります。
system.time({
j = 0
for(i in 1:10000000){
j = j + i
}
})
#結果
# ユーザ システム 経過
# 2.792 0.008 2.795こちらも単位は秒。2.795秒という結果になりました。私のPCでは、Python3の方が早いという結果になりました。
カテゴリ: Python

関連するサービス
記事の筆者

AVILEN編集部
株式会社AVILEN

