Trong Python, chúng ta có thể đo thời gian trôi qua trong việc thực hiện một phân đoạn mã hoặc tập lệnh Python bằng cách sử dụng một số mô-đun Python tích hợp. Ở đây chúng tôi sẽ bao gồm việc sử dụng mô -đun thời gian, thời gian và mô -đun DateTime.time, timeit and datetime module.
Sử dụng mô -đun thời gian Python để đo thời gian trôi qua trong Python
Mô -đun thời gian Python thường được sử dụng để đo thời gian thực hiện của các đoạn mã nhỏ. Chúng ta cũng có thể sử dụng hàm Timeit [], thực thi hàm ẩn danh với một số lần thực thi. Nó tạm thời tắt bộ sưu tập rác trong khi tính toán thời gian thực hiện. is often used to measure the execution time of small code snippets. We can also use the timeit[] function, which executes an anonymous function with a number of executions. It temporarily turns off garbage collection while calculating the time of execution.
Ví dụ 1: Phân tích cách sử dụng mô -đun thời gian
Trong ví dụ này, chúng tôi sẽ phân tích cách sử dụng mô -đun thời gian và sử dụng nó để tìm thời gian thực hiện của biểu thức Lambda. Mã bắt đầu bằng việc nhập mô -đun thời gian và sau đó chúng tôi sử dụng hàm timeit [] từ mô -đun để tìm thời gian thực hiện của hàm.
Python3
import
timeit
1.118 secs.0____11
1.118 secs.2
1.118 secs.3
1.118 secs.4
1.118 secs.5
1.118 secs.6
1.118 secs.7
1.118 secs.4
Output:
Hello World! Hello World! Hello World! Hello World! Hello World! ... 1.632629341998836 secs.
Giải thích: Phân đoạn mã trên, sẽ in Hello Hello World 1000000 lần [vì giá trị mặc định của tham số số là 1000000]. Cuối cùng, mã sẽ in thời gian thực hiện của phân đoạn mã đã cho, được đo bằng giây. The above code segment, will print “Hello World” 1000000 times [since default value of number parameter is 1000000]. At the end, the code will print the execution time of the given code segment, measured in seconds.
Ví dụ 2: Sử dụng timeit.timeit [] với các tham số được xác định trước
Trong ví dụ này, chúng tôi sẽ viết một phân đoạn mã Python có hàm và nó gọi là một chuỗi và chuyển nó sang hàm timeit.timeit []. Chúng tôi sẽ sử dụng một số lần lặp được xác định trước để đếm thời gian thực hiện.
Python3
import
timeit
Case 1: Time Taken: 4.41µs Case 2: Time Taken: 3.15µs Case 3: Time Taken: 3.07µs Case 4: Time Taken: 3.04µs Case 5: Time Taken: 3.08µs1
1.118 secs.1
1.118 secs.0____11
1.118 secs.2
1.118 secs.3
1.118 secs.4
1.118 secs.5
Elapsed time: 1.266 µs3
Elapsed time: 1.266 µs4
1.118 secs.4
Output:
1.118 secs.
Giải thích: Phân đoạn mã trên, sẽ in Hello Hello World 1000000 lần [vì giá trị mặc định của tham số số là 1000000]. Cuối cùng, mã sẽ in thời gian thực hiện của phân đoạn mã đã cho, được đo bằng giây. In this example, we have defined a Python function and call to the function, everything written as a string representation. We test the running time of the code for 10**6 times and print out the time taken to execute the given function in seconds.
Ví dụ 2: Sử dụng timeit.timeit [] với các tham số được xác định trước
Trong ví dụ này, chúng tôi sẽ viết một phân đoạn mã Python có hàm và nó gọi là một chuỗi và chuyển nó sang hàm timeit.timeit []. Chúng tôi sẽ sử dụng một số lần lặp được xác định trước để đếm thời gian thực hiện.
Python3
import
timeit
1.118 secs.0____11
1.118 secs.2
1.118 secs.3
1.118 secs.4
Giải thích: Phân đoạn mã trên, sẽ in Hello Hello World 1000000 lần [vì giá trị mặc định của tham số số là 1000000]. Cuối cùng, mã sẽ in thời gian thực hiện của phân đoạn mã đã cho, được đo bằng giây.
Ví dụ 2: Sử dụng timeit.timeit [] với các tham số được xác định trước
Trong ví dụ này, chúng tôi sẽ viết một phân đoạn mã Python có hàm và nó gọi là một chuỗi và chuyển nó sang hàm timeit.timeit []. Chúng tôi sẽ sử dụng một số lần lặp được xác định trước để đếm thời gian thực hiện.
Các
Elapsed 1.014 micro secs.0
1.118 secs.5
Elapsed time: 1.266 µs3
import
21.118 secs.4
Output:
Case 1: Time Taken: 4.41µs Case 2: Time Taken: 3.15µs Case 3: Time Taken: 3.07µs Case 4: Time Taken: 3.04µs Case 5: Time Taken: 3.08µs
Giải thích: Trong ví dụ này, chúng tôi đã xác định hàm Python và gọi đến hàm, mọi thứ được viết dưới dạng biểu diễn chuỗi. Chúng tôi kiểm tra thời gian chạy của mã trong 10 ** 6 lần và in ra thời gian thực hiện để thực thi hàm đã cho trong vài giây.
Ví dụ 3: Cách đo thời gian trôi qua bằng thời gian bằng thời gian.
Python3
import
timeit
1.118 secs.0____11
1.118 secs.2
1.118 secs.3
1.118 secs.4
Giải thích: Phân đoạn mã trên, sẽ in Hello Hello World 1000000 lần [vì giá trị mặc định của tham số số là 1000000]. Cuối cùng, mã sẽ in thời gian thực hiện của phân đoạn mã đã cho, được đo bằng giây.
Ví dụ 2: Sử dụng timeit.timeit [] với các tham số được xác định trước
Trong ví dụ này, chúng tôi sẽ viết một phân đoạn mã Python có hàm và nó gọi là một chuỗi và chuyển nó sang hàm timeit.timeit []. Chúng tôi sẽ sử dụng một số lần lặp được xác định trước để đếm thời gian thực hiện.
Các
Giải thích: Trong ví dụ này, chúng tôi đã xác định hàm Python và gọi đến hàm, mọi thứ được viết dưới dạng biểu diễn chuỗi. Chúng tôi kiểm tra thời gian chạy của mã trong 10 ** 6 lần và in ra thời gian thực hiện để thực thi hàm đã cho trong vài giây.
1.118 secs.5
Elapsed time: 1.266 µs3
1.118 secs.21
1.118 secs.4
Output:
Elapsed time: 1.266 µs
Ví dụ 3: Cách đo thời gian trôi qua bằng thời gian bằng thời gian.
Chúng tôi sử dụng phương thức Timeit.repeat [] thay vì Timeit.Timeit [] có tham số lặp lại và lưu cho bạn sự cố khi tạo vòng lặp và lưu trữ các giá trị trong mảng. Điều này giúp nhận được giá trị thời gian trôi qua trung bình từ nhiều lần thực hiện cùng một phân đoạn mã.time.perf_counter[], time.time_ns[], time.process_time[], time.time[]
Elapsed time: 1.266 µs
8 Elapsed time: 1.266 µs
9
Elapsed 1.014 micro secs.0
Elapsed 1.014 micro secs.1
Elapsed 1.014 micro secs.2
Case 1: Time Taken: 4.41µs Case 2: Time Taken: 3.15µs Case 3: Time Taken: 3.07µs Case 4: Time Taken: 3.04µs Case 5: Time Taken: 3.08µs8
Case 1: Time Taken: 4.41µs Case 2: Time Taken: 3.15µs Case 3: Time Taken: 3.07µs Case 4: Time Taken: 3.04µs Case 5: Time Taken: 3.08µs8
Elapsed 1.014 micro secs.5
Python3
Elapsed 1.014 micro secs.6
1.118 secs.1
Elapsed 1.014 micro secs.8
Elapsed 1.014 micro secs.9
Time taken 2671 ns0
Time taken 2671 ns1
Time taken 2671 ns22
1.118 secs.1____27
Time taken 2671 ns5
1.118 secs.1
Time taken 2671 ns7
1.118 secs.4
1.118 secs.0____11
1.118 secs.2
1.118 secs.3
1.118 secs.4
Giải thích: Phân đoạn mã trên, sẽ in Hello Hello World 1000000 lần [vì giá trị mặc định của tham số số là 1000000]. Cuối cùng, mã sẽ in thời gian thực hiện của phân đoạn mã đã cho, được đo bằng giây.
Ví dụ 2: Sử dụng timeit.timeit [] với các tham số được xác định trước
timeit
9
Time taken 2671 ns1
1.118 secs.4
Trong ví dụ này, chúng tôi sẽ viết một phân đoạn mã Python có hàm và nó gọi là một chuỗi và chuyển nó sang hàm timeit.timeit []. Chúng tôi sẽ sử dụng một số lần lặp được xác định trước để đếm thời gian thực hiện.
Các
1.118 secs.5
Elapsed time: 1.266 µs3
1.118 secs.54
1.118 secs.4
Output:
Elapsed 1.014 micro secs.
Giải thích: Trong ví dụ này, chúng tôi đã xác định hàm Python và gọi đến hàm, mọi thứ được viết dưới dạng biểu diễn chuỗi. Chúng tôi kiểm tra thời gian chạy của mã trong 10 ** 6 lần và in ra thời gian thực hiện để thực thi hàm đã cho trong vài giây.
Ví dụ 3: Cách đo thời gian trôi qua bằng thời gian bằng thời gian.
Python3
import
1.118 secs.24
Elapsed time: 1.266 µs8
Elapsed time: 1.266 µs9
Elapsed 1.014 micro secs.0
Elapsed 1.014 micro secs.1
1.118 secs.62
Case 1: Time Taken: 4.41µs Case 2: Time Taken: 3.15µs Case 3: Time Taken: 3.07µs Case 4: Time Taken: 3.04µs Case 5: Time Taken: 3.08µs8
Case 1: Time Taken: 4.41µs Case 2: Time Taken: 3.15µs Case 3: Time Taken: 3.07µs Case 4: Time Taken: 3.04µs Case 5: Time Taken: 3.08µs8
Elapsed 1.014 micro secs.5
1.118 secs.4
1.118 secs.33
1.118 secs.1
1.118 secs.69
timeit
9
Time taken 2671 ns1
1.118 secs.4
1.118 secs.39
1.118 secs.1
1.118 secs.69
1.118 secs.5
1.118 secs.77
1.118 secs.78
1.118 secs.79
1.118 secs.09
1.118 secs.81
1.118 secs.82
1.118 secs.4
Output:
Time taken 2671 ns
Ví dụ 3: Cách đo thời gian trôi qua bằng thời gian.process_time []
hàm.process_time [] Hàm trả về tổng của hệ thống và thời gian CPU của người dùng. Điều này theo cùng một cú pháp với hàm Time.time [], như ghi thời gian trước và sau các dòng của mã và sau đó trừ các giá trị, sau đó in chúng ra màn hình.
Python3
import
1.118 secs.24
Elapsed time: 1.266 µs8
Elapsed time: 1.266 µs9
Elapsed 1.014 micro secs.0
Elapsed 1.014 micro secs.1
1.118 secs.62
Case 1: Time Taken: 4.41µs Case 2: Time Taken: 3.15µs Case 3: Time Taken: 3.07µs Case 4: Time Taken: 3.04µs Case 5: Time Taken: 3.08µs8
Case 1: Time Taken: 4.41µs Case 2: Time Taken: 3.15µs Case 3: Time Taken: 3.07µs Case 4: Time Taken: 3.04µs Case 5: Time Taken: 3.08µs8
Elapsed 1.014 micro secs.5
1.118 secs.4
1.118 secs.33
1.118 secs.1
1.118 secs.69
timeit
9
1.118 secs.98
1.118 secs.4
1.118 secs.39
1.118 secs.1
1.118 secs.69
Ví dụ 3: Cách đo thời gian trôi qua bằng thời gian.process_time []
Elapsed time using process_time[] 12.583209999999998 ms.
hàm.process_time [] Hàm trả về tổng của hệ thống và thời gian CPU của người dùng. Điều này theo cùng một cú pháp với hàm Time.time [], như ghi thời gian trước và sau các dòng của mã và sau đó trừ các giá trị, sau đó in chúng ra màn hình.
Elapsed 1.014 micro secs.0
Elapsed 1.014 micro secs.1
Elapsed 1.014 micro secs.2
Case 1: Time Taken: 4.41µs Case 2: Time Taken: 3.15µs Case 3: Time Taken: 3.07µs Case 4: Time Taken: 3.04µs Case 5: Time Taken: 3.08µs8
Case 1: Time Taken: 4.41µs Case 2: Time Taken: 3.15µs Case 3: Time Taken: 3.07µs Case 4: Time Taken: 3.04µs Case 5: Time Taken: 3.08µs8
1.118 secs.93
1.118 secs.
331.118 secs.
1 1.118 secs.
96
Python3
1.118 secs.39
1.118 secs.1
1.118 secs.96
Elapsed time: 1.266 µs8
Elapsed time: 1.266 µs9
Elapsed 1.014 micro secs.0
Elapsed 1.014 micro secs.1
1.118 secs.62
Case 1: Time Taken: 4.41µs Case 2: Time Taken: 3.15µs Case 3: Time Taken: 3.07µs Case 4: Time Taken: 3.04µs Case 5: Time Taken: 3.08µs8
Case 1: Time Taken: 4.41µs Case 2: Time Taken: 3.15µs Case 3: Time Taken: 3.07µs Case 4: Time Taken: 3.04µs Case 5: Time Taken: 3.08µs8
Elapsed 1.014 micro secs.5
1.118 secs.4
1.118 secs.33
1.118 secs.1
1.118 secs.69
timeit
9
Time taken 2671 ns1
1.118 secs.4
1.118 secs.39
1.118 secs.1
1.118 secs.69
Ví dụ 3: Cách đo thời gian trôi qua bằng thời gian.process_time []
Output:
Elapsed 12.0 µs