oop курсовая. Исследование вычислительной эффективности объектноориентированных приложений
![]()
|
7. УЛУЧШЕНИЕ ХАРАКТЕРИСТИК КАЧЕСТВА ПРИЛОЖЕНИЙ7.1. Использование встроенной оптимизации кодаВ ходе выполнения данной курсовой работы был проведён ряд улучшений характеристик как процедурного, так и объектно-ориентированного приложений. Эти улучшения касаются в основном ускорения работы приложений и уменьшения количества занимаемой памяти. Проекты Visual Studio имеют отдельные конфигурации выпуска и отладки для программы. Ранее в проектах использовалась конфигурация решений Debug, которая позволяла делать отладку программ и таким образом выявлять её ошибки. Так как приложения уже не требуют этого, в проектах будет использоваться конфигурация решений Release, которая будет значительно улучшать характеристики приложений за счет того, что в debug-режиме в сборку записываются все отладочные ресурсы, а в release – нет. Сравним скорости процедурного и объектно-ориентированного приложения с использованием debug-режима и release-режима. Результаты работы приложений в данных режимах представлены на рисунках 17-20. Как видно из результатов работы, процедурное приложение стало работать примерно в 2,5 раза быстрее, а объектно-ориентированное – примерно в два раза. ![]() Рис. 17. Результаты работы настольного процедурного приложения с использованием debug-режима ![]() Рис. 18. Результаты работы настольного процедурного приложения с использованием release-режима ![]() Рис. 19. Результаты работы настольного объектно-ориентированного приложения с использованием debug-режима ![]() Рис. 20. Результаты работы настольного объектно-ориентированного приложения с использованием release-режима 7.2. ПрофилированиеСредства профилирования Visual Studio можно использовать для анализа проблем с производительностью в приложении. Выборка представляет собой метод профилирования, показывающий функции, которые выполняют основную часть работы в пользовательском режиме приложения. С выборки удобно начать поиск областей, позволяющих ускорить работу приложения. Было проведено профилирование ЦП, которое показывает, какой метод является «узким местом» в программе, то есть имеет повышенную нагрузку. На рис. 21 видно, что метод Distribution занимает более 41% от времени выполнения. Создание точек и присвоение каждой из них рандомных координат x, y в данном методе реализовано не совсем оптимально. После оптимизации запускаем вновь профилирование и видим, что метод занимает 40% времени выполнения, это показано на рис 22. Для малого количества точек результат практически не заметен, однако для большого количества точек разница во времени присутствует, а значит оптимизация выполнена не зря (рис.23). В таблице 3 приведено сравнение результатов работы программы до использования профилирования и после. ![]() Рис. 21. Первый отчет сеанса профилирования ОО приложения. Окно «Сводка» ![]() Рис. 22. Второй отчет сеанса профилирования ОО приложения. Окно «Сводка» ![]() Рис. 23. Результаты работы оптимизированного ОО приложения Таблица 3. Результаты профилирования ОО приложения
По данным результатам видно, что затраты времени на работу программы уменьшились. |