2017-06-30 13 views
4

私はいくつかのデータを返すプログラム(Pythonで)をコーディングしています。 リクエストと回答(パフォーマンス分析用)の間のレスポンスタイムを測定する方法を知りたいので、これをどこかに保存します。タスク間の応答時間を測定する

これを行うには、これを行うか、たとえば質問の前にtime.ctime()を挿入し、回答後にtime.ctime()を追加してから差し引く方が効率的です。 Like:

pre_time = time.ctime() 
a = x + y 
print a 
pos_time = time.ctime() 
result_time = postime - pretime 

もちろん、この減算は機能しませんが、参照用です。
ありがとうございます!

+0

[Timeit](https://docs.python.org/2/library/timeit.html)おそらくこれがあなたが探しているものです – Ludisposed

答えて

7

最も簡単な解決策は、同じことをするデコレータを書くことです。それと

import time 

def compute_time(func): 
    def wrapper(*args, **kwargs): 
     start = time.time() 
     result = func(*args, **kwargs) 
     time_taken = time.time() - start 

     print("Function {0}: {1} seconds".format(func.func_name, time_taken)) 
     # Or you can place a logger here too. 

     return result 

    return wrapper 

@compute_time 
def add(x, y): 
    return x + y 

あなたのユースケースが複雑な場合、言った - timeitのようないくつかのオーダーメイドのソリューションを検討してください。

関連する問題