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

Unknown

Каковы же преимущества использования описываемого нами орудия? Во-первых профилирование Ваших программ может повысить их производительность. Во-вторых профилирование может усилить вашу способность создания эффективных программ. И, наконец, профилирование, как и отладка, может стать неотъемлемым элементом цикла создания программного обеспечения.

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

* обнаруживать где и на что ваша программа расходует время;

* создавать аннотированный листинг исходного текста Вашей программы и статистический отчет о профилировании;

* запоминать статистические данные, полученные в результате профилирования и затем, после перерыва, возвращаться к работе с этими данными;

* анализировать статистику профилирования и исходный текст Вашей программы, находящиеся, в соседних окнах.

Примечание: Примеры этой главы основаны на колонке Джона Бентли в журнале Communications of the ACM (июль

1987), которая называется «Жемчужины программирования»

(«Programming Pearls»).

Примечание: Все примеры были опробованы на машине с 286 процессором и видеоадаптером Hercules.

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

Целью профилирования программ-примеров является ускорение процесса нахождения и печати простых чисел. Проработав эти примеры Вы научитесь использовать Turbo Profiler для определения эффективности структуры программы каждого из примеров.

Первой программой, которую мы рассмотрим, будет PRIME0. Как только Вы отпрофилируете ее и поймете в каких местах необходимо изменить ее текст, Вам необходимо переходить к следующему шагу — загрузке и профилированию PRIME1. За исключением PRIME1, каждая из программ, рассматриваемых в данной главе (PRIME2, PRIME3, PRIME4, PRIME5 и PRIME6) является модификацией предыдущей.

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

Программы PRIMEn.* написаны на Turbo C. Для пользователей Паскаля имеются аналоги этих программ PRIMEnPA.* которые могут использоваться для упражнений во время чтения данной главы. Каждое обсуждение профилирования программы, написанной на С сопровождается комментарием, отражающим отличия в случае профилирования Паскалевской программы.