Znam tylko jeden sposób, aby odpowiedzieć na to pytanie, a mianowicie zdobyć doświadczenie w dostrajaniu wydajności. Oznacza to - pisz programy, a po ich napisaniu znajdź w nich przyspieszenia i rób to iteracyjnie. Oto jeden przykład.
Oto błąd, który popełni większość ludzi: próbują zoptymalizować program przed jego uruchomieniem. Jeśli ukończyli kurs programowania (od profesora, który tak naprawdę nie ma praktycznego doświadczenia), będą mieli kolorowe okulary w kształcie litery „O” i pomyślą, że o to właśnie chodzi . To ten sam problem, wcześniejsza optymalizacja. **
Ktoś powiedział: Najpierw napraw to, a potem szybko. Mieli rację.
Ale teraz dla kickera: jeśli zrobiłeś to kilka razy, rozpoznajesz głupie rzeczy, które wcześniej robiłeś, które powodują problemy z prędkością, więc odruchowo ich unikasz. (Rzeczy takie jak zbyt ciężka struktura zajęć, zalewanie się powiadomieniami, mylące rozmiary wywołań funkcji z ich kosztem czasu, lista jest długa i długa ...) Instynktownie unikasz ich, ale zgadnij, jak to wygląda mniej- doświadczył: przedwczesna optymalizacja!
Więc te głupie debaty trwają i trwają :)
** Mówią też, że nie musisz się już o to martwić, ponieważ kompilatory są tak dobre, a maszyny są tak szybkie w dzisiejszych czasach. (KIWI - Kill It With Iron.) Nie ma wykładniczego przyspieszenia sprzętowego lub systemowego (wykonywanego przez bardzo inteligentnych, ciężko pracujących inżynierów), które mogłyby zrekompensować wykładnicze spowolnienie oprogramowania (wykonywane przez programistów, którzy myślą w ten sposób).