Я заходжу над цим, працюючи в районах, де немає домовленостей про домовленості про рівень обслуговування. Що стосується офлайн-рендерів у комп'ютерній графіці, то для користувачів немає "задовільної продуктивності", оскільки вони вже витрачають величезні суми грошей на розподіл обчислень по хмарах та надання ферм навіть із найсучаснішими рендерами виводити якісні зображення та рамки для фільмів, напр
Але я маю сказати, як один, хто працює в цій галузі протягом багатьох років, що будь-яке рішення, що значно погіршує ремонтопридатність на користь ефективності, насправді працює проти постійно змінюваних вимог щодо продуктивності. Тому що, якщо ви не можете ефективно підтримувати своє рішення протягом наступних років, оскільки справи змінюються під вашими ногами (як з точки зору оточуючого коду, так і того, що користувачі очікують, коли конкуренти перевершують один одного), то ваше рішення вже працює в напрямку застарівання і в необхідність оптової заміни.
Я не бачу кінцевої мети профілів на зразок VTune як способу прискорити запуск коду. Їх кінцева цінність полягає в тому, щоб переконатися, що я не знижую свою продуктивність, щоб відповідати постійно зростаючим вимогам продуктивності. Якщо я абсолютно повинен застосувати мікрооптимізацію грубої зовнішності, то профайлер у поєднанні із запуском його у реальних випадках користувачів (а не якийсь тестовий випадок, як я думаю, може бути важливим), гарантує застосування таких неминуче грубого вигляду оптимізація дуже, дуже розумно стосується лише перших топових точок, які з’являються, а також дуже ретельно їх документування, тому що мені неминуче доведеться переглянути і підтримувати, змінювати та змінювати їх на наступні роки, якщо це рішення залишатиметься життєздатним.
І особливо, якщо ваше оптимізоване рішення передбачає більше з'єднань, я справді не бажаю його використовувати. Серед найбільш цінних показників, які я оцінив у найбільш критичних для продуктивності областях бази даних, є розв'язка (як мінімізація кількості інформації, над якою потрібно щось працювати, що також мінімізує ймовірність її необхідності зміни, якщо вона безпосередньо не потребує змін ), оскільки ці критичні області значно примножують причини зміни речі. Що означає, що чим менше інформації потрібно для роботи, тим менше причин для змін, а мінімізація причин змін - це справді величезна частина підвищення продуктивності в моїх конкретних областях, тому що все одно доведеться постійно змінюватись (ми я застаріла через рік в іншому випадку),
Для мене найбільшими та найефективнішими рішеннями, які я знайшов, є ті, де ефективність та ремонтопридатність та продуктивність не є діаметрально протилежними один одному. Завдання мені - спробувати зробити ці поняття такими ж гармонійними, як це можливо зробити.