Đo Thời Gian Thực Thi Code Trong Python Với Module timeit
Module timeit
là một công cụ mạnh mẽ trong Python giúp bạn đo lường thời gian thực thi của các đoạn mã. Dưới đây là cách sử dụng module này để đảm bảo mã của bạn hoạt động hiệu quả và tìm ra những đoạn code tối ưu nhất.
1. Cài Đặt và Nhập Module timeit
Module timeit
là một phần của thư viện chuẩn trong Python, vì vậy bạn không cần cài đặt thêm gì. Để sử dụng, chỉ cần nhập module này vào mã của bạn:
2. Đo Thời Gian Chạy Một Đoạn Code
Để đo thời gian chạy của một đoạn mã, bạn có thể sử dụng timeit.timeit()
với mã nguồn được truyền vào dưới dạng chuỗi. Dưới đây là ví dụ cơ bản:
import timeit
# Đo thời gian chạy của một đoạn code
code_to_test = """
result = sum(range(100))
"""
# Đo thời gian chạy
execution_time = timeit.timeit(code_to_test, number=10000)
print(f"Thời gian thực thi: {execution_time} giây")
Trong ví dụ này:
code_to_test
: Đây là đoạn mã mà bạn muốn đo thời gian thực thi. Đoạn mã này sẽ được chạy nhiều lần.
number
: Tham số này xác định số lần đoạn mã sẽ được thực thi. Ở đây, number=10000
nghĩa là đoạn mã sẽ được thực thi 10.000 lần để có kết quả chính xác hơn.
execution_time
: Đây là tổng thời gian cần thiết để thực thi đoạn mã.
3. Đo Thời Gian Chạy Của Một Hàm
Bạn cũng có thể đo thời gian chạy của một hàm cụ thể bằng cách truyền hàm đó vào timeit.timeit()
:
import timeit
def test_function():
result = sum(range(100))
# Đo thời gian chạy của hàm test_function
execution_time = timeit.timeit(test_function, number=10000)
print(f"Thời gian thực thi: {execution_time} giây")
4. So Sánh Hiệu Suất
Sử dụng timeit
không chỉ giúp bạn đo thời gian chạy của một đoạn mã đơn lẻ, mà còn cho phép bạn so sánh hiệu suất của các đoạn mã khác nhau:
import timeit
code1 = """
result = [i**2 for i in range(100)]
"""
code2 = """
result = list(map(lambda x: x**2, range(100)))
"""
time1 = timeit.timeit(code1, number=10000)
time2 = timeit.timeit(code2, number=10000)
print(f"Thời gian thực thi code1: {time1} giây")
print(f"Thời gian thực thi code2: {time2} giây")
Kết Luận
Module timeit
là công cụ tuyệt vời để đo thời gian thực thi của các đoạn mã hoặc hàm trong Python. Việc sử dụng timeit
giúp bạn hiểu rõ hơn về hiệu suất của mã và tìm ra cách tối ưu hóa tốt nhất cho ứng dụng của mình.