Система Turbo Profiler фирмы Borland
- Название:Система Turbo Profiler фирмы Borland
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Система Turbo Profiler фирмы Borland краткое содержание
Система Turbo Profiler фирмы Borland - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Как же Вам распорядиться всей этой мощностью и гибкостью? Как использовать систему Turbo Profiler наиболее оптимальным образом и получать при этом максимальную отдачу? В чем заключаются хитрости профилирования? Очевидно, что в этой главе мы просто не сможем исчерпывающе ответить на все поставленные вопросы. Но, тем не менее, мы опишем некоторые основные принципы, приемы и стратегии для того, чтобы придать Вам начальное ускорение.
Примечание: Вы можете обратиться к большому количеству книг и статей, содержащих общие сведения о профилировании.
При получении первого профиля Вашей программы система Turbo Profiler производит следующие действия:
* автоматически просматривает текст Вашего EXE-файла в поисках головного модуля Вашей программы;
* устанавливает маркеры «областей» для Вашей программы;
* определяет какой из из модулей исходного текста Вашей программы содержит в себе ее головную часть;
* загружает этот головной модуль в окно Module (Модуль);
* устанавливает курсор на начальную точку головного модуля.
Модуль исходного текста Вашей программы является головным в том случае, если он содержит в себе строку, выполняющуюся самой первой после запуска программы. Маркеры «областей» отмечают участки Вашей программы, для которых Вы хотите собрать статистические данные. Число установленных маркеров зависит от количества символических имен, найденных в отладочной информации Вашей программы.
И всякий раз, когда Вы выходите из системы Turbo Profiler происходит автоматическое сохранение информации о «областях», помеченных в Вашей программе, в файле с именем TFA, где совпадает с именем Вашей программы. Каждый раз при загрузке Вашей программы в систему Turbo Profiler происходит поиск соответствующего файла с расширением. TFA, и, в случае наличия такого файла, происходит автоматическое задание «областей» на основании имеющейся в данном файле информации.
Также Вы можете сохранить результаты профилирования в файле с расширением. TFS, используя для этого команду Statistics| Save (Статистика| Сохранить). По умолчанию, имя такого файла будет иметь вид: TFS. Вы можете воспользоваться именем, задаваемым по умолчанию, либо изменить его (в том случае, если Вы хотите сохранить несколько профилей одной и той же программы).
Примечание: Мы рекомендуем Вам сохранять результаты профилирования, получение которых заняло много времени, на тот случай, если у Вас вдруг возникнет желание снова взглянуть на эти данные.
Подготовка к получению профиля.
Примеры первой главы были небольшими и достаточно простыми, они были созданы для того, чтобы в общих чертах показать процесс профилирования. Основной задачей, поставленной в первой главе было скорее совершенствование программы prime, чем поиск «узких мест» данной программы.
На самом же деле необходимость использования профилировщика возникает в гораздо большей степени при написании программ большого размера, чем в случае, когда программы малы, так как сначала необходимо выявить «узкие места» программы, а уже потом пытаться понять то, каким образом можно усовершенствовать каждое из них. Вследствие ряда причин найти «узкие места» легче, чем придумать как с ними лучше поступить.
Перед тем, как профилировать Вашу программу, преобразуйте ее исходный текст для того, чтобы извлечь максимальную пользу из полученных статистических данных. Скомпилируйте Вашу программу (независимо от того внесли Вы в нее какие-либо изменения или нет) в режиме с включенной отладочной информацией. Затем установите маркеры, которые укажут профилировщику в каких местах и какие данные собирать.
Преобразование текста Вашей программы.
Первое, что вам необходимо сделать — это привести вашу программу к такому виду, который позволит вам понять, какие именно данные вам необходимо получить в результате профилирования. Например, если вы разрабатываете интерактивную программу, в которой часто происходит выполнение операторов ввода с клавиатуры, то вам совсем неинтересно будет узнать о том, что большая часть времени выполнения вашей программы тратиться на ожидание того момента, когда пользователь нажмет на какую-либо клавишу.
Вот некоторые основные технические приемы, используемые при поиске «узких мест» в больших программах:
* Задавайте вашим программам достаточно большие наборы входных данных, для получения наиболее информативных профилей.
Если вы попытаетесь профилировать программу поиска подстрок, подавая ей на вход файл, состоящий из трех строчек, то вы не сможете почерпнуть многого из полученных в результате этого данных. Точно также поиск коротких подстрок, входящих почти в каждую из строк файла (с общим числом строк равным 10000), даст профиль совершенно непохожий на тот, который получился бы в случае поиска длинной подстроки, встречающейся в данном файле один единственный раз.
Примечание: Выбор входных данных для вашей программы это очень важный момент на который следует обратить особое внимание.
* Если ваша программа работает достаточно быстро, то вы можете собрать данные о нескольких ее выполнениях. (Для этого необходимо изменить соответствующим образом значение параметра Run Count (Число выполнений) в блоке диалога Profiling Options (Параметры профилирования.))
* Модифицируйте вашу программу таким образом, чтобы она работала независимо от ввода с клавиатуры, или просто уберите маркеры с тех «областей», внутри которых такой ввод используется.
Вводите необходимые для работы вашей программы входные данные из файла или используйте генератор случайных чисел для того, чтобы заполнить массив этими данными. Основная идея заключается в выборе типичных данных из тех, с которыми ваша программа реально может иметь дело.
* Изолируйте модули программы, про которые заведомо известно, что они нуждаются в улучшении.
Компиляция вашей программы.
После того, как вы привели вашу программу к виду, для которого профилирование уже не будет являться такой уж бессмысленной затеей, вам необходимо еще раз ее скомпилировать, задав при этом сбор отладочной информации.
Turbo Profiler можно использовать со следующими версиями программных продуктов фирмы Borland: если Вы работаете в системе Turbo Pascal, то она должна быть версии 5.0 или более высокой, системы Turbo C++ и Turbo Assembler должны иметь версию 1.0 или более позднюю. Вы должны задать такие значения параметров компиляции Ваших программ, которые обеспечивают наличие полной отладочной информации о символических именах.
Примечание: Файлы, скомпилированные Вами для того, чтобы отлаживать их в системе Turbo Debugger, могут, без какой-либо дополнительной обработки, использоваться в системе Turbo Profiler.
* Turbo Pascal: параметры Standalone Debugging (Самостоятельная отладка) и Debug Information (Отладочная информация) должны быть установлены в состояние On (Включен).
Читать дальшеИнтервал:
Закладка: