20474

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

Доклад

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

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

Украинкский

2013-07-25

36 KB

1 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Індексація 

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

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

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

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

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

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

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


 

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

79812. Туристические услуги для людей с ограниченными возможностями в России 1.88 MB
  Туризм может стать очень полезным в качестве метода социальной реабилитации людей с ограниченными возможностями. Объектом данного исследования выступает состояние современной инфраструктуры туризма России с точки зрения приспособленности к потребностям людей с ограниченными физическими возможностями. Предмет исследования развитие и проблемы туризма для людей с ограниченными физическими возможностями.
79814. Использование проектной деятельности для реализации личностно-ориентированного обучения на уроках английского языка в седьмом классе 353 KB
  Охарактеризовать сущность личностно-ориентированного обучения; Рассмотреть и описать процесс проектной деятельности в обучении иностранному языку; Рассмотреть особенности личностного развития обучающихся седьмых классов; Описать процесс реализации личностно–ориентированного обучения в процессе проектной деятельности в обучении иностранному языку обучающихся седьмых классов...
79815. Источники финансирования учреждений культуры в современных условиях (на примере Муниципального бюджетного учреждения культуры «Березовский районный центр досуга и народного творчества» и Муниципального казенного учреждения «Березовская межпоселенческая це 687 KB
  Выявить тенденции бюджетного финансирования сферы культуры на федеральном уровне и их особенности на региональном в условиях децентрализации бюджетных полномочий и новых методов финансирования; охарактеризовать особенности механизма финансового обеспечения бюджетных и казенных учреждений культуры Ханты-Мансийского автономного округа - Югры (ХМАО - Югры); определить перспективы модернизации системы финансирования сферы культуры...
79816. Психологічні особливості попередження фрустрації у підлітковому віці 756 KB
  Підліткова фрустрація – це негативний психологічний стан у дитини, обумовлений неможливістю розв’язати специфічні завдання вікового розвитку. Причиною може бути неможливість оволодіти бажаним предметом, заборона зі сторони дорослих на виконання певних дій. Наявність таких рис характеру, як агресивність, збудливість, пасивність, суїцидальні думки є наслідком наявності фрустрації у підлітка.
79817. Устройство для наладки, разработки и управления различными устройствами: усилителя мощности звуковой частоты, бегущей строкой, внешней панелью 877 KB
  Современный научно-технический прогресс невозможен без радиоэлектронной аппаратуры (РЭА), которая широко используется как при планировании и управлении производством, так и в автоматизации производственных процессов и в научных исследованиях. Технологии изготовления РЭА постоянно совершенствуются. В развитии радиоэлектронной аппаратуры можно выделить несколько этапов, характеризующих технологии и принципы изготовления РЭА.
79819. Пути совершенствования политики привлечения кредитных ресурсов в ЗАО «Пассаж «ОКТЯБРЬСКОЕ ПОЛЕ» 147.5 KB
  Организация, использующая только собственный капитал, имеет наивысшую финансовую устойчивость, но ограничивает темпы своего развития, поскольку не может обеспечить формирование необходимого дополнительного объема активов в периоды благоприятной конъюнктуры рынка и не использует финансовые возможности прироста прибыли на вложенный капитал. Поэтому организациям очень важно привлекать заемный капитал.