Điều đó phụ thuộc vào bối cảnh. Trong khoa học máy tính lý thuyết, thông thường mọi thuật toán thời gian đa thức đều được coi là "hiệu quả". Trong thuật toán xấp xỉ ví dụ như một thời gian chạy của sẽ được coi là hiệu quả, mặc dù nó sẽ không thể sử dụng được trong thực tế đối với bất kỳ giá trị hợp lý của ε . Một thuật toán cho SAT chạy trong n 2 100 sẽ là một bước đột phá đáng kinh ngạc.n1 / ε1 / εεn2100
Trong thuật toán cổ điển, tức là các thuật toán từ thập niên 80 trở về trước, thời gian chạy dưới hoặc hơn (nghĩ nhân ma trận, khớp chi phí tối thiểu, lưu lượng, lập trình tuyến tính) được coi là hiệu quả. Họ vẫn được coi là hiệu quả bởi hầu hết mọi người, tôi nói. Tất nhiên một n 2 thuật toán không được coi là hiệu quả nếu một n log n thuật toán được biết đến, như để phân loại ví dụ.n3n2nhật ký nn
Ngày nay có một xu hướng đối với các thuật toán tuyến tính hoặc thuật toán phát trực tuyến có khả năng xử lý terabyte dữ liệu. Hãy thử sử dụng phép nhân ma trận để tính thứ hạng trang của tất cả các trang trong chỉ mục của Google. Điều đó sẽ không làm việc.
Tất nhiên, trong khi chắc chắn hữu ích, thời gian chạy tiệm cận của thuật toán không nói lên toàn bộ câu chuyện. Có những thuật toán có thời gian chạy tiệm cận tốt, nhưng các hằng số rất lớn đến mức chúng không thể được sử dụng một cách hiệu quả. Không bao giờ. Lipton gọi chúng là Thuật toán thiên hà . Robert Sedgewick thậm chí còn tuyên bố rằng giới hạn trường hợp xấu nhất là "thường vô dụng để dự đoán, thường vô dụng đối với các bảo đảm" và "phân tích trường hợp xấu nhất là vô ích để dự đoán hiệu suất" trong bài nói của ông đưa Khoa học trở lại Khoa học máy tính .