Система Turbo Profiler фирмы Borland | страница 46
Получение профиля программы в процессе прогона типичных тестов позволяет выявить участки программы, которые выполняются небольшое число раз, либо вообще не выполняются. Например, посредством изучения путей вызова в окне Callers (Вызывающие программы) и вывода на печать листинга исходного текста (содержащего количественную характеристику) из окна Module (Модуль), Вы можете удостовериться в том, что каждая строчка Вашей программы была действительно выполнена.
Поскольку в процессе тестирования и верификации программ Вы работаете с крупными фрагментами исходного текста, то Вы не нуждаетесь в таком количестве подробностей, как в случае анализа алгоритма. Тем не менее и в этом случае бывает полезным иметь информацию о том, сколько раз выполнялась та или иная подпрограмма. И в ситуации, когда Вы хотели бы протестировать ряд подпрограмм, составляющих некоторую иерархическую структуру, данные о количестве выполнений могут помочь Вам убедиться в том, что в процессе выполнения программы каждая из ветвей операторов типа переключатель и условных операторов была пройдена хотя бы один раз.
Подсчет времени выполнения и контроль за использованием ресурсов.
При подсчете временной статистики для программы большого размера с целью выявления участков, замедляющих ее работу, Вам, как правило, не требуется подсчитывать эти данные на уровне строк. При подсчете временных соотношений для процесса выполнения программы Вам необходимо знать две вещи:
1. сколько времени тратится на выполнение каждой подпрограммы;
2. в каких случаях при подсчете времени выполнение подпрограммы это время включает в себя времена подпрограмм, вызываемых из данной.
Перед тем как начать подсчет временных соотношений процесса выполнения, Вам необходимо установить маркеры «областей» для всех подпрограмм, фигурирующих в исходном тексте. В случае очень больших программ приходится ограничиваться только лишь одним модулем.
Если Вы пометили маркерами единственный модуль, то задача удачного группирования статистических данных становится очень важной. Вот некоторые методы, позволяющие усовершенствовать процесс профилирования:
* Используйте фильтры для того, чтобы сделать невидимой информацию, которая Вас в данный момент не интересует (это можно сделать при помощи команды Filter (Фильтр) локального меню окна Execution Profile (Профиль выполнения);
* Убирайте маркеры «области», помечающие подпрограммы, которые Вас в данный момент не интересуют (это можно сделать при помощи команды Remove (Убрать) локальных меню окон Modulе (Модуль), Execution Profile (Профиль выполнения) и Areas («Области»));