pythonでのコードの実行時間の表示方法
4156 ワード
1.オーナメントを使用して関数の実行時間を測定する
関数の実行時間を測定し、結果を出力するために装飾器を定義する簡単な方法があります.
次に、この装飾器を測定する関数に追加する前に、以下のようにします.
たとえば、ここでは、200万個のランダムな数字を含む配列をソートするために必要な時間を検出します.
スクリプトを実行すると、次の結果が表示されます.
このメソッドのテキストリンクは、Pythonプログラムの実行時間、CPU、メモリ使用量を検出する10の方法です.
2.time.time()関数の使用
Python time time()は、現在の時刻のタイムスタンプ(1970紀元後に経過した浮動小数点秒数)を返します.
次の例では、time()関数の使用方法を示します.
上記の例の出力結果は次のとおりです.
time.time()を使用してコードを表示するのにかかる時間
まとめ:1、方法1は方法の実行時間に適している2、方法2は方法の実行時間だけでなく、ある数行のコードの実行時間も取得できる
関数の実行時間を測定し、結果を出力するために装飾器を定義する簡単な方法があります.
import time
from functools import wraps
def fn_timer(function):
@wraps(function)
def function_timer(*args, **kwargs):
t0 = time.time()
result = function(*args, **kwargs)
t1 = time.time()
print ("Total time running %s: %s seconds" %
(function.func_name, str(t1-t0))
)
return result
return function_timer
次に、この装飾器を測定する関数に追加する前に、以下のようにします.
@fn_timer
def myfunction(...):
...
たとえば、ここでは、200万個のランダムな数字を含む配列をソートするために必要な時間を検出します.
@fn_timer
def random_sort(n):
return sorted([random.random() for i in range(n)])
if __name__ == "__main__":
random_sort(2000000)
スクリプトを実行すると、次の結果が表示されます.
Total time running random_sort: 1.41124916077 seconds
このメソッドのテキストリンクは、Pythonプログラムの実行時間、CPU、メモリ使用量を検出する10の方法です.
2.time.time()関数の使用
Python time time()は、現在の時刻のタイムスタンプ(1970紀元後に経過した浮動小数点秒数)を返します.
次の例では、time()関数の使用方法を示します.
#!/usr/bin/python
import time
print "time.time(): %f " % time.time()
print time.localtime( time.time() )
print time.asctime( time.localtime(time.time()) )
上記の例の出力結果は次のとおりです.
time.time(): 1234892919.655932
(2009, 2, 17, 10, 48, 39, 1, 48, 0)
Tue Feb 17 10:48:39 2009
time.time()を使用してコードを表示するのにかかる時間
def getHomeData(request):
starttime = time.time() #
try:
hypervisors = api.nova.hypervisor_list(request)
except Exception:
hypervisors = []
exceptions.handle(request,
_('Unable to retrieve hypervisor information.'))
endtime1 = time.time() #
timeall1 = endtime1 - starttime #
まとめ:1、方法1は方法の実行時間に適している2、方法2は方法の実行時間だけでなく、ある数行のコードの実行時間も取得できる