Itu tergantung pada konteksnya. Dalam ilmu komputer teoretis, biasanya setiap algoritma waktu polinomial dianggap 'efisien'. Dalam algoritma perkiraan misalnya runtime akan dianggap efisien, meskipun dalam praktiknya tidak akan dapat digunakan untuk nilai wajar apa pun dari . Algoritma untuk SAT yang berjalan di akan menjadi terobosan yang luar biasa. ϵ n 2 100n1/ϵ1/ϵϵn2100
Dalam algoritme klasik, yaitu algoritme dari tahun 80-an dan sebelumnya, runtime di bawah atau lebih (pikirkan penggandaan matriks, pencocokan biaya minimum, aliran, pemrograman linier) dianggap efisien. Mereka masih dianggap efisien oleh kebanyakan orang, menurut saya. Tentu saja algoritma tidak dianggap efisien jika algoritma diketahui, seperti untuk menyortir misalnya.n 2 n log nn3n2nlogn
Saat ini ada kecenderungan ke arah algoritma sublinear atau streaming algoritma yang mampu menangani data terabyte. Coba gunakan perkalian matriks untuk menghitung peringkat halaman semua halaman dalam indeks Google. Itu tidak akan berhasil.
Tentu saja, walaupun tentu saja bermanfaat, runtime asimtotik dari suatu algoritma tidak menceritakan keseluruhan cerita. Ada beberapa algoritma yang memiliki runtime asimptotik yang baik, tetapi konstanta yang sangat besar sehingga tidak dapat digunakan secara efektif. Pernah. Lipton menyebut mereka Algoritma Galactic . Robert Sedgewick bahkan menyatakan bahwa batas kasus terburuk "sering tidak berguna untuk prediksi, sering tidak berguna untuk jaminan" dan "analisis kasus terburuk tidak berguna untuk memprediksi kinerja" dalam pidatonya Puting the Science Back Into Computer Science .