Timeit hoạt động như thế nào Python?
Với mô-đun timeit tích hợp sẵn của Python, bạn có thể đo lường hiệu suất của các chức năng hoặc dòng mã của mình chỉ bằng một bước đơn giản Show
Nhà văn cao cấp, InfoWorld. suy nghĩMục lục Cho xem nhiều hơn Theo thiết kế, Python đặt sự thuận tiện, dễ đọc và dễ sử dụng lên trên hiệu suất. Nhưng điều đó không có nghĩa là bạn nên giải quyết mã Python chậm. Có lẽ bạn có thể làm gì đó để tăng tốc nó Trong số các công cụ có sẵn để định hình hiệu suất của mã Python, đơn giản nhất là mô-đun [ Cũng trên InfoWorld. Cách sử dụng asyncio trong Python]
Một ví dụ về thời gian Python đơn giảnĐây là một ví dụ đơn giản về cách hoạt động của def f1(): for n in range(100): pass def f2(): n=0 while n<100: n+=1 if __name__ == "__main__": import timeit print (timeit.timeit(f1, number=100000)) print (timeit.timeit(f2, number=100000)) Chương trình này so sánh hiệu suất của hai cách để lặp qua một vòng lặp 100 lần. bằng cách sử dụng hàm 0.12523150). timeit chạy mỗi phương pháp này 100.000 lần và cung cấp tổng thời gian chạy ở cuối mỗi phương pháp. Theo mặc định, timeit sử dụng một triệu lần chạy, nhưng ví dụ này cho thấy cách bạn có thể đặt số lần chạy thành bất kỳ con số nào có vẻ phù hợpKết quả (từ bộ xử lý Intel i7-3770K) 0.1252315 Rõ ràng là cách tiếp cận [ Cũng trên InfoWorld. Quản lý phụ thuộc và dự án Python tốt hơn với Thơ ]Sử dụng Python timeit bằng cách chuyển một chuỗiMột cách khác để sử dụng import timeit Điều này cũng có thể được thực hiện từ dòng lệnh python -m timeit "for n in range(100):pass" Tuy nhiên, về tổng thể, việc sử dụng kỹ thuật được hiển thị ở trên sẽ dễ dàng hơn vì bạn không cần phải vụng về chuyển mã của mình thành một chuỗi văn bản Mẹo thời gian PythonHữu ích như Tránh sử dụng timeit cho toàn bộ chương trìnhKhông có gì nói rằng bạn không thể thời gian cho toàn bộ chương trình với Tuy nhiên, có những công cụ tốt hơn cho công việc đó — chẳng hạn như mô-đun 0.12523157 của Python, mô-đun này tạo số liệu thống kê chi tiết hơn nhiều về hiệu suất của toàn bộ chương trình của bạn. timeit hoạt động tốt nhất với một thành phần hoặc đoạn mã — một lần nữa, một chức năng hoặc một vài dòng mã. Bất cứ điều gì nhiều hơn thế thường sẽ tạo ra kết quả quá ồn ào và không nhất quán để cung cấp cho bạn bất kỳ thông tin hiệu suất có ý nghĩa nàoNgoài ra, nếu chương trình bạn đang lập hồ sơ mất nhiều phút để hoàn thành, Thực hiện nhiều lần chạy timeit trên các máy khác nhauCác chương trình không chạy ở cùng tốc độ mọi lúc. Môi trường máy tính hiện đại mang đến nhiều điều không chắc chắn — cạnh tranh với các chương trình khác về tài nguyên, hành vi bộ đệm, lập lịch, v.v. [ Cập nhật các chủ đề nóng trong phát triển phần mềm với bản tin Báo cáo nhà phát triển ứng dụng của InfoWorld ]Cuối cùng, nó cũng giúp chạy thử nghiệm tương tự trên các hệ thống khác nhau. Làm thế nào một cái gì đó liên kết với đĩa sẽ hoạt động trên SSD so với ổ cứng quay thông thường? Có liên quan
Serdar Yegulalp là một nhà văn cao cấp tại InfoWorld, tập trung vào học máy, container hóa, devops, hệ sinh thái Python và đánh giá định kỳ Thời gian Timeit trong Python là gì?Mô-đun timeit của Python thường được sử dụng để đo thời gian thực thi của các đoạn mã nhỏ . Chúng ta cũng có thể sử dụng hàm timeit(), hàm này thực thi một hàm ẩn danh với một số lần thực thi. Nó tạm thời tắt thu gom rác trong khi tính toán thời gian thực hiện.
Python theo dõi thời gian thực hiện như thế nào?Sử dụng các hàm bên dưới để đo thời gian thực hiện chương trình trong Python. . thời gian. thời gian(). Đo tổng thời gian đã trôi qua để thực thi mã tính bằng giây thời gian. . %timeit và %%timeit. lệnh để lấy thời gian thực hiện của một dòng mã và nhiều dòng mã ngày giờ |