UkrReferat.com
найбільша колекція україномовних рефератів

Всього в базі: 75834
останнє поновлення: 2016-11-29
за 7 днів додано 10

Реферати на українській
Реферати на російській
Українські підручники

$ Робота на замовлення
Реклама на сайті
Зворотній зв'язок

 

ПОШУК:   

реферати, курсові, дипломні:

Українські рефератиРусские рефератыКниги
НазваЕфективність програм та методи оптимізації (реферат)
АвторPetya
РозділІнформатика, компютерні науки
ФорматWord Doc
Тип документуРеферат
Продивилось1660
Скачало236
Опис
ЗАКАЧКА
Замовити оригінальну роботу

Реферат на тему:

 

Ефективність програм та методи оптимізації.

 

План

 

1. Що таке ефективність та вартість оптимізації.

 

2.Вибір алгоритму.

 

3. Зниження потужності виразів.

 

4. Видалення надмірних операцій.

 

5. Використання констант та ініціалізація змінних.

 

6. Логічні вирази.

 

7. Індексація.

 

8. Оптимізація циклів.

 

9.Видалення надмірних операцій

 

10. Порядок вкладання циклів

 

11. Розгортка циклів

 

12. Об’єднання циклів

 

13. Роз’єднання циклів

 

Література

 

1. Що таке ефективність та вартість оптимізації.

 

Перш за все, домовимось про термінологію. Ефективність – це степінь

сумірності результатів з витратами. Оптимізація – це покращення

характеристик програмної системи або просто програми. Тобто швидкоруч

написана програма, яка довго, хоч і правильно працює, очевидно,

неефективна. Вона підлягає оптимізації. З іншого боку, ефективна

програма нікому не потрібна, якщо вона не забезпечує правильних

результатів.

 

Отже, перший етап програмування – створення правильної програми, і лише

другий – її оптимізація. Але перед тим, як починати покращувати

ефективність програми, слід перевірити, наскільки це покращення буде

корисним, і точно визначити місце, яке слід переробити.

 

Справа у тому, що існує правило 20/80: 20% об’єктного коду (тексту

програми) виконується 80% часу роботи всієї програми. Деякі програми

наукових обчислень дають навіть співвідношення 3/90.

 

Ця невелика частина програми, виконання якої займає більшу частину часу

роботи програми, називається критичною областю. Саме критичну область і

слід оптимізувати.

 

У вартості процеса програмування переважну частину складає вартість

людської праці, тому при визначенні можливого покращення треба оцінювати

обсяг роботи, необхідної для досягнення цього покращення. Наприклад, для

кожної підпрограми можна обчислити коефіцієнт

 

k = (% часу роботи * % покращення) / (необхідні зусилля),

 

і підпрограма з найвищим значенням коефіцієту k – першочерговий

претендент на оптимізацію (якщо мало часу або немає потреби переробляти

всю програму).

 

Існують два підходи до оптимізації програм: “чистка” – виправлення

очевидних неохайностей і перепрограмування – заміна алгоритму на більш

швидкий (наприклад, сортування зі складністю O(n2) замінити сортуванням

зі складністю O(n ln n)).

 

Багато засобів, які підвищують ефективність програми, не погіршують її

зручність для читання, отже, мають використовуватись завжди. В усіх

інших випадках слід дотримуватись правила: зручність для читання

програми важливіша за її ефективність.

 

2.Вибір алгоритму.

 

Найбільш важливим фактором у прискоренні роботи програми є вибір

алгоритму або структури даних – між ефективним алгоритмом та

неефективним може бути величезна різниця. Невелика ілюстрація до

сказаного – наступний приклад, де за рахунок введення додаткової змінної

вдається позбавитись від n перевірок в тілі циклу.

 

for i := 1 to n do

 

if (i mod 2) = 0 then

 

S := S + f(i)

 

else

 

S := S – f(i);

 

Тут перевірка умови (i mod 2) = 0 виконується на кожному кроці. Введемо

-----> Page:

0 [1] [2] [3]

ЗАМОВИТИ ОРИГІНАЛЬНУ РОБОТУ