Оптимізація (інформатика)
Модифікація системи з метою підвищення її ефективнсоті / З Вікіпедії, безкоштовно encyclopedia
Оптимізація — модифікація системи для вдосконалення її ефективності. Система може бути одиночною комп'ютерною програмою, набором комп'ютерів або навіть цілою мережею, такою як Інтернет.
![]() | Ця стаття є сирим перекладом з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (липень 2016) |
Ця стаття не містить посилань на джерела. (липень 2016) |
Хоча метою оптимізації є отримання оптимальної системи, істинно оптимальна система в процесі оптимізації досягається далеко не завжди. Оптимізована система зазвичай є оптимальною тільки для однієї задачі або групи користувачів: десь може бути важливіше зменшення часу, необхідного програмі для виконання роботи, навіть ціною споживання більшого обсягу пам'яті; в додатках, де важливіше пам'ять, можуть вибиратися більш повільні алгоритми з меншими запитами до пам'яті.
Більш того, часто не існує універсального рішення, яке працює добре у всіх випадках, тому інженери використовують компромісні (англ. tradeoff) рішення для оптимізації лише ключових параметрів. До того ж, зусилля, необхідні для досягнення повністю оптимальної програми, яку неможливо далі поліпшити, практично завжди перевищують вигоду, яка може бути від цього отримана, тому, як правило, процес оптимізації завершується до того, як досягається повна оптимальність. На щастя, в більшості випадків навіть при цьому досягаються помітні поліпшення.
Оптимізація повинна проводитися з обережністю. Тоні Гоара вперше вимовив, а Дональд Кнут згодом часто повторював відомий вислів: «Передчасна оптимізація — це корінь всіх бід». Дуже важливо мати для початку озвучений алгоритм і працюючий прототип.