Читать «Система Turbo Profiler фирмы Borland» онлайн - страница 14

Unknown

Все статистические данные текущего сеанса профилирования PRIME0 теперь сохранены в файле PRIME0.TFS, находящемся в текущей директории, следовательно теперь Вы можете в любой момент покинуть среду профилировщика, не потеряв при этом полученные данные.

Для того, чтобы просмотреть статистику, загрузите PRIME0 в профилировщик и выберите в меню команду Statistics|Restore (Статистика|Восстановить). Как и в предыдущий раз, в блоке ввода File Name (Имя файла) по умолчанию будет задан файл PRIME0.TFS. Нажмите ENTER для перехода в блок списка Files (Файлы), выберите в нем PRIME0.TFS и, затем, выберите ОК для восстановления статистических данных из этого файла.

Анализ статистики.

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

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

Важное замечание: Пользователям Паскаля. В PRIME0PA им соответствуют строки 31 (if) и 42 (Writeln).

Из полученного профиля мы можем почерпнуть много полезных сведений. Например, легко заметить, что строка 22 в PRIME0 выполняется гораздо чаще чем любой другой оператор. Вполне понятно, что строка 22 выполняется 15 122 раза, так как в этой строке происходит проверка каждого числа в диапазоне от 4 до 1000 на делимость этого числа на элементы массива primes, проверка происходит до тех пор пока либо после деления остаток станет равным 0, либо массив primes будет исчерпан. Так же можно видеть, что строка 31 (оператор printf) отнимает большую часть времени выполнения программы.

Примечание: в программе PRIME5 содержится модифицированный вариант оператора printf, (пользователям Паскаля предназначена программа PRIME5PA с оператором CRT).

Одновременный просмотр исходного текста и статистики.

Данные в окне Execution Profile (Профиль выполнения) показывают, что в строке 22 программа выполняет большую работу, чем нам необходимо. Но полную картину того, что происходит во время выполнения программы можно получить лишь при одновременном рассмотрении временной и количественной статистики с исходным текстом программы.

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