To zależy od kontekstu. W informatyce teoretycznej zazwyczaj każdy algorytm wielomianu czasowego jest uważany za „wydajny”. W algorytmach aproksymacyjnych na przykład czas działanian1 /ϵ1 / ϵ byłby uważany za wydajny, nawet jeśli nie będzie w praktyce przydatny dla żadnej rozsądnej wartości ϵ. Algorytm dla SAT, który działan2)100 byłby niesamowitym przełomem.
W klasycznych algorytmach, tj. Algorytmach z lat 80. i wcześniejszych, środowiska wykonawcze poniżej n3)lub mniej więcej (pomyśl mnożenie macierzy, minimalne dopasowanie kosztów, przepływy, programowanie liniowe) są uważane za wydajne. Powiedziałbym, że nadal są one uważane za skuteczne przez większość ludzi. Oczywiście an2) algorytm nie jest uważany za wydajny, jeśli: n logn algorytm jest znany, na przykład do sortowania.
Obecnie istnieje trend w kierunku algorytmów podliniowych lub algorytmów przesyłania strumieniowego, które są w stanie poradzić sobie z terabajtami danych. Spróbuj użyć mnożenia macierzy, aby obliczyć ranking stron wszystkich stron w indeksie Google. To nie zadziała.
Oczywiście, choć zdecydowanie użyteczne, asymptotyczne środowisko uruchomieniowe algorytmu nie opowiada całej historii. Istnieją algorytmy z dobrym asymptotycznym środowiskiem uruchomieniowym, ale stałe, które są tak ogromne, że nie można ich skutecznie użyć. Zawsze. Lipton nazywa je Algorytmami Galaktycznymi . Robert Sedgewick twierdzi nawet, że granice najgorszych przypadków są „często bezużyteczne do przewidywania, często bezużyteczne dla gwarancji”, a „analiza najgorszych przypadków jest bezużyteczna do przewidywania wyników” w swoim przemówieniu „Powrót nauki do informatyki” .