Tôi đang cố gắng tìm hiểu xem cần bao nhiêu thời gian để thực thi một câu lệnh Python, vì vậy tôi đã xem trực tuyến và thấy rằng thư viện tiêu chuẩn cung cấp một mô-đun có tên là timeit có mục đích thực hiện chính xác điều đó:
import timeit
def foo():
# ... contains code I want to time ...
def dotime():
t = timeit.Timer("foo()")
time = t.timeit(1)
print "took %fs\n" % (time,)
dotime()
Tuy nhiên, điều này tạo ra một lỗi:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in dotime
File "/usr/local/lib/python2.6/timeit.py", line 193, in timeit
timing = self.inner(it, self.timer)
File "<timeit-src>", line 6, in inner
NameError: global name 'foo' is not defined
Tôi vẫn chưa quen với Python và tôi không hiểu đầy đủ tất cả các vấn đề về phạm vi mà nó gặp phải, nhưng tôi không biết tại sao đoạn mã này không hoạt động. Có suy nghĩ gì không?