Pewnego razu na konferencji usłyszałem o tym fajną historię.
W firmie Microsoft ktoś pisał aplikację VB (ok. VB 3) i wysłał e-maile do wielu osób z informacją, że ma mnóstwo wartości i chciał, aby pojawiały się w comboboxie, jak powinien to zrobić.
Wszyscy nurkowali po swoje stare podręczniki informatyki, szukając wysoce wydajnych procedur i przenosząc je do Visual Basic i wysyłając je do niego. Jeden facet właśnie odesłał „ile wartości w comboboxie?”.
„Około 50” nadeszła odpowiedź.
„Po prostu ustaw posortowaną właściwość na PRAWDA”.
W 99,9999% przypadków sortowanie najlepiej przeprowadzać przy użyciu biblioteki, kontroli lub wyboru SQL, ponieważ różnica wydajności między procedurą biblioteczną a wszystkim, co piszesz, będzie nieznaczna, a nakład pracy i nakładów związanych z konserwacją znacznie przewyższą konsekwencje.
Chociaż to oczywiście nie ma znaczenia dla bitów i odcinków czasu. Uważam, że scalanie jest łatwiejsze do napisania i zrozumienia niż szybkie sortowanie. Więc jeśli mam napisać własny algorytm sortowania, użyłbym tego.
źródło
Przynajmniej w kompetentnie napisanej bibliotece spodziewałbym się, że wbudowana wersja
sort
będzie implementowana jako Introsort, a nie tylko Quicksort. Różnica rzadko ma duże znaczenie, ale Introsort eliminuje najgorszą wydajność Quicksort przy minimalnym wpływie na bardziej powszechne przypadki.Jednak, aby odpowiedzieć na twoje pytanie: tak - od tego zwykle powinieneś zacząć i dopóki / jeśli nie masz wyników profilera wskazujących, że jest to problem, tam powinien pozostać.
źródło