20474

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

Доклад

Информатика, кибернетика и программирование

Оптимізація – це покращення характеристик програмної системи або просто програми. Отже перший етап програмування – створення правильної програми і лише другий – її оптимізація. Але перед тим як починати покращувати ефективність програми слід перевірити наскільки це покращення буде корисним і точно визначити місце яке слід переробити. Справа у тому що існує правило 20 80: 20 об’єктного коду тексту програми виконується 80 часу роботи всієї програми.

Украинкский

2013-07-25

36 KB

1 чел.

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

Ефективність – це степінь сумірності результатів з витратами.Вона є дуже важливою характеристикою.Користувач завжди віддає перевагу більш ефективному рішенню навіть у тих випадках, коли ефективність не є вирішальним фактором.

Оптимізація – це покращення характеристик програмної системи або просто програми.

Отже, перший етап програмування – створення правильної програми, і лише другий – її оптимізація. Але перед тим, як починати покращувати ефективність програми, слід перевірити, наскільки це покращення буде корисним, і точно визначити місце, яке слід переробити.

Справа у тому, що існує правило 20/80: 20% об’єктного коду (тексту програми) виконується 80% часу роботи всієї програми. Деякі програми наукових обчислень дають навіть співвідношення 3/90.

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

Для підвищення ефективності программ користуюсться такими засобами:

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

Найбільш важливим фактором у прискоренні роботи програми є вибір алгоритму або структури даних – між ефективним алгоритмом та неефективним може бути величезна різниця.

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

Цей термін означає такий вид оптимізації, коли більш дорога операція (в сенсі часу виконання) заміняється на більш дешеву. Колись це означало в першу чергу заміну множень додаваннями або зсувами. Для сучасних процесорів тепер це майже нічого не покращує, оскільки множення виконується практично так само швидко, як і додавання. Але ділення та взяття залишку від ділення виконуються суттєво (приблизно в 10 разів) повільніше за множення, отже, код програми значно покращиться, якщо ділення замінити множенням на обернену величину. 

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

Якщо деяке складне обчислення зустрічається в вашій програмі декілька разів, виконайте його один раз, запам’ятавши результат. 

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

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

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

Економії часу можна добитись правильним розташуванням складних логічних виразів. Більшість компіляторів зупиняють подальше обчислення виразу, якщо його результат вже відомий.

Індексація 

Якщо можна не використовувати багатовимірні масиви, то краще цього не робити (при кожному звертанні до елемента багатовимірного масива, наприклад, A[i,j], відбувається перерахування дійсної адреси елементу масива, оскільки у пам’яті масив розташований лінійно). Отже, якщо це можливо, зведіть до мінімуму кількість звертань до елементів масивів, особливо багатовимірних.

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

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

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

Повторні обчислення в циклах є типовою помилкою, яка впливає на ефективність. В наступних прикладах із циклів видалені інваріантні вирази.

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

Організація та виконання циклів типу for вимагають деяких неявних додаткових затрат часу часу на ініціалізацію змінної циклу та на перевірку на кожному кроці необхідності завершення циклу. Правильною організацією вкладених циклів можна економити час роботи програми.


 

А также другие работы, которые могут Вас заинтересовать

34620. Мастерство полемического стиля Белинского 23 KB
  Приемы полемики: каждая статья носит прямой или скрытый полемический характер. прием интеллектуальной бури. прием иронической ремарки независимо от того о ком он пишет. прием притворного простодушия.
34621. Историко-литературная концепция Белинского и ее эволюция 45.5 KB
  Вся литература до Пушкина – пересаженное иноземное растение. Сочинения Пушкина периоды: Ломоносовский карамзинский державинский пушкинский. Русская литра развивалась по двум направлениям которые слились в творчестве Пушкина. НШ как понимал ее Белинский никак не связана с творчеством Пушкина.
34622. Творчество Лермонтова в оценке критики 40-х гг 29 KB
  Его ждет душевная чахотка и гибель. Белинский: когда вышел роман Белинский пишет: дьявольский талант глубокий и могучий ум озлобленный рассудочный охлажденный взгляд Пушкин умер не без наследника лейтмотив статьи Белинского про Л. Белинский попал под магическое влияние и скучно и грустно назывет его рефлекторным следовательно вся поэзия Л рефлекторна. бел оправдывает рефлексию безверие.
34623. Споры вокруг творчества Гоголя в критике 30 – 40-х гг 27 KB
  Аксаков и Белинский. Бел в ЛМ 1834 г. В 1839 Бел пишет статью Горе от ума где большая часть посвящена Ревизору в которой пытается навязать читателю примирение с действительностью. МД Бел много сделал для того чтобы рукопись вышла в печать.
34624. Цикл статей Белинского «Сочинения Пушкина» 24.5 KB
  Цикл статей Белинского Сочинения Пушкина С 1843 г. В грусти наиболее национальная черта поэзии Пушкина. Пушкина сотворила натура и история 1 2 3 статьи – монографический обзор литературы 19 века: Ломоносов Державин Жуковский. С 4 статьи в строго хронологическом порядке исследует творчество Пушкина.
34625. Писатели НШ в оценке критики 40-х гг 22.5 KB
  Началась полемика. Эта полемика продолжалась и в обзорах Белинского. Полемика не привела к победе западников над с ф но она дала импульс к развитию критического реализма.
34626. Неославянофильство и почвенничество в критике 50 – 60-х гг 29 KB
  Основные идеи неославянофильства и почвенничества: идеализация общинного национального сознания соборность русского народа в силу климата географического положения соборность смиренномудрие национальный характер сохраняется не только в крестьянстве но и в купечестве. Размышляет что такое СОБОРНОСТЬ. Разводит понятия СОБОРНОСТЬ и КОЛЛЕКТИВ. Соборность не уничтожает индивидуальность народа.
34627. Философские искания Белинского. Основные периоды критической деятельности 35.5 KB
  Философские искания Белинского. В отношении к Белинскому всегда были крайности любви и ненависти. После смерти Белинского его имя запретили упоминать в печати. Пыпин в монографии Белинский.
34628. Основные положения эстетического кодекса Белинского 29.5 KB
  Художники все понимают. Великий художник мыслит не образами внешнего мира а категориями внутренней красоты. Художник – медиум; он передатчик воли абсолютной разумной силы. Отсюда он выделяет у художника такие категории как естественность правдивость верность действительности.