Я знаю лише один із способів відповісти на це питання, а це - отримати досвід налаштування продуктивності. Це означає - пишіть програми, і після їх написання знайдіть у них прискорення та робіть це ітеративно. Ось один приклад.
Ось помилка, яку робить більшість людей: Вони намагаються оптимізувати програму, перш ніж її реально запустити. Якщо вони пройдуть курс програмування (від професора, який насправді не має великого практичного досвіду), вони матимуть кольорові окуляри великого розміру, і вони подумають, що це все . Це все та сама проблема, попередня оптимізація. **
Хтось сказав: Спочатку зробіть це правильно, потім зробіть це швидко. Вони мали рацію.
Але тепер для кікера: Якщо ви зробили це кілька разів, ви впізнаєте нерозумні речі, які ви робили раніше, що спричинили проблеми зі швидкістю, тому ви інстинктивно уникаєте їх. (Такі речі, як зробити ваш клас класу занадто важким, засипати сповіщеннями, плутати розмір викликів функцій з їхньою часовою вартістю; список продовжується і далі ...) Ви інстинктивно уникаєте цього, але здогадуєтесь, як це виглядає на менш досвід: передчасна оптимізація!
Тож ці дурні дебати тривають і продовжуються :)
** Інша річ, за якою вони говорять, - вам більше не доведеться турбуватися про це, адже компілятори настільки хороші, а машини зараз такі швидкі. (KIWI - Kill It With Iron.) Не існує експоненціальних апаратних чи системних прискорень (зроблених дуже розумними працьовитими інженерами), які могли б компенсувати експоненціальні уповільнення програмного забезпечення (це робиться програмістами, які думають таким чином).