2017-04-10 106 views
1

我試圖測試一個http請求處理碼塊需要多長時間我的燒瓶控制器內,這裏是我所使用的示例代碼:Python:time.time()與time.clock()之間的顯着區別?

cancelled = [] 
t0 = time.time() 
t1 = time.clock() 
users = requests.get('https://www.example.com/users/') 
for i in users.json(): 
    user = requests.get('https://www.example.com/user/%s' % i['id]').json() 
    if user['status'] == 'Cancelled': 
     cancelled.append(user) 
t2 = time.clock() 
t3 = time.time() 
print t2 - t1 
print t3 - t0 

這裏是輸出:

2.712326 
76.424875021 

第二time.time()函數的輸出與顯示結果所用的實際秒數相匹配,所以我不確定time.clock()的值爲什麼非常小?

編輯:我的系統是OSX和Python 2.7,我的問題是,如果time.time()反映用戶體驗/等待的實際時間,爲什麼time.clock()通常被認爲是「更好」?

+1

好time.clock()是處理器的時間,如果你是在UNIX和了time.time( )是自時代以來的秒數 – Jacobr365

+0

Dupliate:http://stackoverflow.com/questions/85451/python-time-clock-vs-time-time-accuracy – Alex

+1

可能的重複[Python - time.clock()與time.time () - 準確性?](http://stackoverflow.com/questions/85451/python-time-clock-vs-time-time-accuracy) –

回答

1

請注意,從Python 3.3開始,time.clock現在是deprecated,因爲行爲與平臺有關。文檔建議使用time.process_timetime.perf_counter來衡量性能。

否則,我會建議使用timeit模塊(特別是因爲這可以讓你在測試環境的更多控制)

相關問題