20474

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

Доклад

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

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

Украинкский

2013-07-25

36 KB

1 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Індексація 

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

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

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

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

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

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

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


 

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

81384. Разработка программы социологического исследования социальной работы 35.51 KB
  Программу социологического исследования это один из важнейших социологических документов в котором содержатся методологические методические и процедурные основы исследования социального объекта. Ее можно рассматривать как теорию и методологию конкретного исследования отдельного эмпирического объекта или явления которое представляет собой теоретикометодологическую основу процедур всех этапов исследования сбора обработки и анализа информации. Функции программы социологического исследования: Методологическая Методологическая функция...
81386. Качественные методы сбора первичной информации. Основное назначение и случаи применения 38.95 KB
  Качественные методы социологии : Фокусгруппа Проведение интервью в группе из 812 человек с определенными параметрами в зависимости от целей исследования. В групповой дискуссии интервьюируемый оказывается в ситуации общения с себе подобными что помогает снимать защитные психологические барьеры и облегчает выражение эмоциональных реакций. Источниками информации в таком исследовании могут быть письма личные документы фотографии образцы фольклора а также групповые интервью. Неструктурированные интервью диалог в начале которого не...
81387. Технология проведения качественных исследований. На примерах глубинного интервью и фокус-группового исследования 40.77 KB
  На примерах глубинного интервью и фокусгруппового исследования. Проведение интервью в группе из 812 человек с определенными параметрами в зависимости от целей исследования. В групповой дискуссии интервьюируемый оказывается в ситуации общения с себе подобными что помогает снимать защитные психологические барьеры и облегчает выражение эмоциональных реакций. Подготовка Фокусированное интервью как и любое другое социологическое исследование предполагает: написание программы где формулируется и обосновывается проблема определяются цель...
81388. Мониторинг как повторное социологическое исследование социальной работы: методология и методика 36.5 KB
  Мониторинг можно определить как постоянное наблюдение за процессом состоянием объекта развитием явления в течение достаточно длительного времени по одинаковой системе показателей и методике. За объектом мониторинга организуется достаточно постоянное слежение с помощью периодичного измерения показателей индикаторов которые достаточно полно его определяют. Социологический мониторинг это системно организованная совокупность регулярно повторяющихся исследований цель которых состоит в научноинформационной помощи заинтересованным...
81389. Применение метода контент-анализа в изучении социальной работы. Методика и методология проведения 39.59 KB
  Контентанализ представляет собой перевод в количественные показатели массовой информации текстовой аудиовизуальной цифровой с последующей статистической ее обработкой. Этапы контентанализа: Определение совокупности изучаемых источников или сообщений с помощью набора заданных критериев Формирование выборочной совокупности сообщений. Однако иногда контентанализ должен опираться на ограниченную выборку взятую из большего массива информации.
81390. Понятие социальной работы. Цели и задачи социальной работы 34.11 KB
  Цели и задачи социальной работы. Задачи: социальное обслуживание попечительство и наставничество социальная адаптация и реабилитация надзор профилактика и предупреждение возникновения кризисных ситуаций в социальной сфере диагностика социальных проблем и коррекция процессов социализации проектирование и реализация социальных проектов Цель социальной работы обеспечение достойных условий жизни человека которые являются необходимым фактором гармонизации отношений в обществе позволяющей ему раскрыть свои способности по деятельной...
81391. Социальная работа как социальный институт. Основные функции социальной работы 35.7 KB
  Социальную работу можно отнести к социальному институту т. ролей и статусов Возникла исторически В качестве функций социальной работы можно назвать: социальную диагностику это процесс исследования социального объекта явления путем распознавания и изучения причинноследственных связей отношений характеризующих его состояние и тенденции развития. социальную профилактику деятельность по предупреждению социальной проблемы социального отклонения или удержанию их на социально терпимом уровне посредством устранения или нейтрализации...
81392. Социальная помощь в России в доинституциональный период социальной работы 38.2 KB
  Что касается феодальной Древней Руси то законодательная база социальной защиты в этом обществе развивалась довольно медленно. При чем в эту эпоху уже имеет место дифференцированный адресный подход к клиентам социальной помощи: прокаженные и престарелые должны были быть устроены в богадельни а здравые питаться по дворам. и последующие реформы обозначили новые подходы в социальной политике самодержавного государства.