Python3でプログラムの処理速度を計測する方法

 2018/02/01    Python    

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の方が早いという結果になりました。

  • スポンサーリンク

  • 関連コンテンツ

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    CAPTCHA