20474

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

Доклад

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

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

Украинкский

2013-07-25

36 KB

0 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Індексація 

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

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

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

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

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

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

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


 

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

20660. Происхождение античной философии. Первые досократические философские школы 160.5 KB
  Закономерность приравнивалась к законности а упорядоченность мира представлялась как легитимность. То есть уже на ранних шагах античной мысли представление о картине мира выстраивалась на взглядах содержащих первые рациональные представления пытающиеся преодолеть ограниченность мифологических вымыслов и рассмотреть человека общество в качестве центра Вселенной что и приводило к определённому антропоморфизму в понимании процессов объективной реальности. Eidos – образ вид; подразумевалось идея понятие или метафизическая сущность...
20661. Философские идеи Сократа 41.5 KB
  Философ считал что письмена делают знания отстранёнными внешними для человека и мешают глубокому пониманию истины и воспитанию личности. Поэтому считая что истина содержится внутри самого человека предпочитал живой диалог спор как единственно правильное средство получения достоверных знаний о мире. Второй зрелый этап сосредоточен на раскрытие природы человека. Философия должна открывать человека исследовать его так как именно в нас заключено то познавательное начало которое способно изучать и аккумулировать знания как о себе...
20662. Философское учение Платона 70.5 KB
  Платон настоящее имя Аристокл Платон от греческого platys – широкоплечий полный 427 – 347 год до н. Платон был основателем собственной философской школы занятия слушателей которой проходили в роще посвящённой античному герою Академу что непосредственно повлияло на её название Академия. Философская Академия Платона просуществовала 915 лет.
20663. Философия Аристотеля, Критика платоновского учения об идеях 72.5 KB
  Аристотель 384 – 322 год до н. Аристотель проучившись в платоновской академии 20 лет вплоть до смерти Платона развивал философские положения своего учителя придерживаясь объективного идеализма и смог привнести в это течение новые неоспоримо значимые идеи. Аристотель предпочитал проводить занятия со своими учениками прогуливаясь по саду вблизи школы. Для обозначения философской школы Аристотеля используется и такое название как перипатетика от греческого peripatio – крытая галерея занятия Аристотель проводил не только прогуливаясь...
20664. Философские школы поздней античности (эллинистическая эпоха) 186.5 KB
  Если ранее у греков существовало представление о своём духовном превосходстве над варварами не способных к культуре и к свободной деятельности что запечатлевалось даже в работах Платона и Аристотеля то в новую эпоху взаимовлияния культур формируется представление о едином бытие человека. Под влиянием восточных культур например астрологических и мистических течений Вавилона происходит эклектическое соединение рационального и сверхъестественного в понимание мира что пагубно отражается и на морали где вера в судьбу в определённость...
20665. Специфика философской мысли в эпоху средневековья 76 KB
  Этот период патристика сталкивается с внутренним противоречием которое выражено в том что стремление посредством рациональной аргументации доказать бытие Бога бессмертие души и прочих сакральных компонентов христианской догматики идёт в разрез с краеугольным положением религии о непостижимости при помощи разума божественных таинств доступных только исключительно в вере. Обсуждаются проблемы: а тринитальный вопрос о единстве и троичности Бога; б христологический вопрос о сочетание в Христе двух начал природного и божественного; в...
20666. Характерные черты эпохи Возрождения 77.5 KB
  Разум в силу своей конечности и определённости пропорцией не является истиной и не способен её постигать настоль точно чтобы утверждать о её исчерпанности. Отсутствие пропорциональности которую мы способны зафиксировать только в конечных вещах является причиной нашего незнания. Конечность нашего ума является источником диспропорции между разумом и бесконечностью в которую он включён и которую стремиться познать. На общем онтологическом уровне индивид связывает все вещи и поэтому является микрокосмом любой вещи.
20667. Учение о субстанции в философии Бенедикта Спинозы и Готфильда Лейбница 51 KB
  Таким образом для Спинозы субстанция является causa sui причиной самой себя. Движение по мнению Спинозы относится лишь к миру модусов и не является атрибутом субстанции по той причине что для его осуществления необходима внешняя причина воздействие связи которая может существовать только в природе порождаемой. По его мнению абсолютно свободен лишь Бог так как является вселенским порядком и субстанцией вбирает в себя и определяет все природные причинноследственные связи необходимость. И так как в мире вещей господствует...
20668. Английский материализм и эмпиризм 17-18 века 64.5 KB
  Согласно Гоббсу каждый из нас стремиться рассуждать о какихнибудь вещах поэтому желание философствовать это врождённое состояние человека свойственное ему от природы. Гоббс таким образом показывает прямую зависимость мышления человека от материального мира и его эмпирического восприятия. Философия природы занимается естественными телами в том числе и изучением тела человека. Данный тип философии направлена на трактовку умственных и нравственных способностей человека этика и определение обязанностей гражданина политика.