Những gì tôi thường làm là sử dụng clock()
hoặc time()
từ time
thư viện. clock
đo thời gian phiên dịch, trong khi time
đo thời gian hệ thống. Hãy cẩn thận có thể được tìm thấy trong các tài liệu .
Ví dụ,
def fn():
st = time()
dostuff()
print 'fn took %.2f seconds' % (time() - st)
Hoặc cách khác, bạn có thể sử dụng timeit
. Tôi thường sử dụng time
cách tiếp cận do tôi có thể tạo ra nó nhanh như thế nào, nhưng nếu bạn định thời gian cho một đoạn mã có khả năng cô lập, sẽ timeit
có ích.
Từ các tài liệu thời gian ,
def test():
"Stupid test function"
L = []
for i in range(100):
L.append(i)
if __name__=='__main__':
from timeit import Timer
t = Timer("test()", "from __main__ import test")
print t.timeit()
Sau đó, để chuyển đổi thành phút, bạn chỉ cần chia cho 60. Nếu bạn muốn thời gian chạy tập lệnh ở định dạng dễ đọc, dù là giây hay ngày, bạn có thể chuyển đổi thành a timedelta
và str
nó:
runtime = time() - st
print 'runtime:', timedelta(seconds=runtime)
và nó sẽ in ra một cái gì đó của mẫu [D day[s], ][H]H:MM:SS[.UUUUUU]
. Bạn có thể kiểm tra các tài liệu timedelta .
Và cuối cùng, nếu những gì bạn thực sự theo sau là lược tả mã của bạn, Python cũng có sẵn thư viện hồ sơ .