Система Turbo Profiler фирмы Borland - [6]

Шрифт
Интервал


Профилирование программы (PRIME0)


Процесс профилирования и корректировки программы состоит из следующих четырех этапов:


1. Загрузка программы перед ее профилированием.


2. Сбор данных во время выполнения программы.


3. Анализ полученных данных.


4. Модификация программы и ее повторная компиляция.


После внесения изменений в программу необходимо повторить выполнение пунктов с 1 по 3 для того, чтобы посмотреть как повлияли эти изменения на поведение программы в процессе исполнения.


Программа PRIME0 использует алгоритм Евклида для нахождения простых чисел. Как только простое число найдено, оно сразу же записывается в массив primes и для того, чтобы определить являются ли последующие числа простыми, делается попытка поделить их на числа, уже записанные в массив primes.


Загрузите PRIME0 в систему Turbo Profiler, набрав на клавиатуре Turbo Profiler PRIME0 и нажав клавишу ENTER.


Примечание: Вы можете закончить работу с профилировщиком в любой момент. Для этого необходимо выбрать в меню последовательность File|Quit (Файл|Выход) или нажать комбинацию Alt-X.


Важное замечание: Информация для пользователей Паскаля.

Если Вы хотите профилировать Паскалевскую версию PRIME0.C, то убедитесь, что файлы PRIME0PA.PAS и PRIME0PA.EXE находятся в Вашей текущей директории после чего наберите на клавиатуре TPROF PRIME0PA и нажмите Enter.


В начале работы Профилировщика откроются два окна: Module (Модуль) (в котором находится исходный текст PRIME0) и Execution Profile (Профиль выполнения) (в котором, после того как Вы запустите программу PRIME0, будет отображена статистика процесса ее выполнения).


Рис. 1.1 Turbo Profiler с загруженной в него программой PRIME0.


Окно Module (Модуль) и окно Execution Profile (Профиль выполнения) относятся к шагам 1 и 3 процесса профилирования. Окно Module (Модуль) используется для того, чтобы помечать участки программы, которые необходимо профилировать. После того как Вы запустите программу, в окне Execution Profile (Профиль выполнения) отображается информация, необходимая для анализа ее работы.


Установка параметров профилирования.


Перед началом профилирования программы необходимо пометить в ней интересующие Вас «области». «Область» — это участок программы для которого Вы хотели бы получить статистические данные. «Областью» может быть одна строка, один оператор (например оператор цикла) или вся программа целиком. Во время первого сеанса профилирования Вам потребуется собрать более обширную информацию о «областях» чем та, которая задается параметрами системы Turbo Profiler по умолчанию.


Для того, чтобы проанализировать небольшое количество коротких подпрограмм (таких, как prime и main в данной программе), Вы должны знать сколько раз выполняется каждая их строка и сколько времени занимает ее выполнение. Для того, чтобы получить эту информацию, Вы должны пометить каждую строку этой программы как «область».


1. Нажмите Alt-F10, для того чтобы активировать локальное меню окна Module (Модуль).


2. Выберите в этом меню Add Areas (Добавить «области»). Вам будет предложен для выбора список возможных границ «области».


3. Выберите Every Line in Module (Каждая строка в модуле). В результате этого маркеры «области» будут установлены для каждой строки программы и курсор вернется в окно Module (Модуль).


Обратите внимание на то, что в результате выполнения перечисленных операций все выполнимые строки программы оказались помеченными маркером =>.


Сбор статистических данных.


Итак, в настоящий момент Вы готовы к проведению второго этапа профилирования. Нажмите клавишу F9 для запуска PRIME0 под контролем Turbo Profiler. Программа выдаст на экран пользователя простые числа, находящиеся в диапазоне от 1 до 1000. Когда выполнение программы завершится, просмотрите информацию, появившуюся в окне Execution Profile (Профиль выполнения). Это и есть статистика процесса выполнения Вашей программы.


Распахните окно Execution Profile (Профиль выполнения), нажав клавишу F5 или выбрав Zoom (Распахнуть) из меню Window (Окно). После чего окно Execution Profile (Профиль выполнения) будет выглядеть следующим образом:


Рис. 1.2 Статистика процесса выполнения программы PRIME0.


Верхняя панель окна Execution Profile (Профиль выполнения) показывает общее время выполнения программы, сопровождаемое информацией о данных, находящихся на нижней панели. В каждой строке нижней панели содержится четыре позиции:


* название «области»;


* количество секунд, затраченных на выполнение данной области;


* процентное отношение этого времени к общему времени выполнения программы;


* горизонтальная диаграмма, пропорциональная этому отношению.


Строка вида


#PRIME0#31 6.2655 sec 93 % |============================ говорит о том, что тридцать первая строка программы PRIME0 выполнялась в течение 6.3 секунды, что составило 93 % от времени выполнения всех помеченных «областей». Диаграмма для строки 31 автоматически занимает все отведенное для диаграммы место, так как на выполнение 31 строки затрачивается самое большое количество времени среди всех помеченных областей.


Важное замечание: Информация для пользователей Паскаля. В программе PRIME0PA, соответствующая строка имеет номер 42.


Еще от автора Неизвестный Автор
Галчонок

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Призраки ночи

В книге собраны предания и поверья о призраках ночи — колдунах и ведьмах, оборотнях и вампирах, один вид которых вызывал неподдельный страх, леденивший даже мужественное сердце.


Закат  вечности

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


mmmavro.org | День 131, Победа

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Песнь о Нибелунгах

…«Песнь о Нибелунгах» принадлежит к числу наиболее известных эпических произведений человечества. Она находится в кругу таких творений, как поэмы Гомера и «Песнь о Роланде», «Слово о полку Игореве» и «Божественная комедия» Данте — если оставаться в пределе европейских литератур…В. Г. Адмони.


Саньтии Веды Перуна

Саньтии Веды Перуна (Книга Мудрости Перуна) одно из древнейших Славяно-Арийских Священных Преданий, сохраненных Жрецами-хранителями Древнерусской Инглиистической церкви Православных Староверов-Инглингов.


Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Геймдизайн. Рецепты успеха лучших компьютерных игр от Super Mario и Doom до Assassin’s Creed и дальше

Что такое ГЕЙМДИЗАЙН? Это не код, графика или звук. Это не создание персонажей или раскрашивание игрового поля. Геймдизайн – это симулятор мечты, набор правил, благодаря которым игра оживает. Как создать игру, которую полюбят, от которой не смогут оторваться? Знаменитый геймдизайнер Тайнан Сильвестр на примере кейсов из самых популярных игр рассказывает как объединить эмоции и впечатления, игровую механику и мотивацию игроков. Познакомитесь с принципами дизайна, которыми пользуются ведущие студии мира! Создайте игровую механику, вызывающую эмоции и обеспечивающую разнообразие.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


MFC и OpenGL

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.