- •Аннотация.
- •Содержание.
- •1. Введение.
- •2. Основная концепция Sampler’а.
- •3. Описание программы.
- •4. Применение программы.
- •4.1. Одномодульная программа на языке с.
- •4.2. Многомодульная программа на языке с.
- •4.4. Одномодульная программа на языке Паскаль.
- •4.4. Отключение профилирования.
- •4.5. Повышение точности профилирования.
- •V.A.K. Group (спгту 1995-1999)
4.4. Одномодульная программа на языке Паскаль.
Подключение Sampler-a к программам на языке Паскаль производится
указанием имени библиотечного модуля - Sampler в разделах Uses всех
модулей вашей программы. Пример программы приводится ниже.
uses sampler;
const PName: String[10] = 'my3.pas';
var i : Integer; d : double;
begin
WriteLn (#13+'Single module test.');
i := 100; d := 1.0;
Sample( PName,9 );
repeat
Sample( PName,13 );
d := d * 1.0;
Sample( PName,15 );
Dec(i);
until i <= 0;
Sample( PName,19 );
end.
В результате получим следующий файл профиля (Pasprg.smp) :
Отчет о результатах измерений для программы pasprg.exe.
Создан программой Sampler ( версия Feb 15 1999 )
1995-98 (c) СПбГЭТУ, Мойсейчук Леонид.
Список обработанных файлов.
----------------------------------------------------------------------
NN Имя обработанного файла
----------------------------------------------------------------------
1. pasprg.pas
----------------------------------------------------------------------
Таблица с результатами измерений ( используется 5 из 416 записей )
----------------------------------------------------------------------
Исх.Поз. Прием.Поз. Общее время(мкс) Кол-во прох. Среднее время(мкс)
----------------------------------------------------------------------
1 : 9 1 : 10 1.67 1 1.67
----------------------------------------------------------------------
1 : 10 1 : 13 1.67 1 1.67
----------------------------------------------------------------------
1 : 13 1 : 15 45295.96 100 452.95
----------------------------------------------------------------------
1 : 15 1 : 13 424.22 99 4.28
1 : 15 1 : 19 3.35 1 3.35
----------------------------------------------------------------------
4.4. Отключение профилирования.
Программы на С. Для откличения профилирования во всей программе требуется определить макрос TIMING_OFF перед подключением файла Sampler.h, а еще лучше в пункте Options\Compiler\Code Generation\Defines (Borland C++ v3.0...3.3) и перестроить проект.
Тогда макрос SAMPLE сократится в пустой оператор ((void)0) и в процессе компиляции будет аннулирован.
4.5. Повышение точности профилирования.
Для более точного профилирования измерений в Sampler’е предусмотрен режим измерений с использованием команд таймера процессора. Новый режим доступен, лишь на компьютерах класса Pentium и старше. Запуск в защищенном режиме не возможен. Так если запускать эту программу под DOS необходимо закомментировать EMM386(или любой другой менеджер памяти, т.к. эти программы выполняют переход в защищенный режим и работа под DOS происходит уже в режиме виртуального 8086) в CONFIG.SYS, соответственно запуск из под Windows не возможен.
Программы на С. Для профилирования программы требуется включить дополнительный макрос P5Type перед заголовочным файлом Sampler.h в каждый модуль программы :
#define P5Type
#include “Sampler.h” - для главного модуля
или
#define EXCLUDE_IMPLEMENTATION
#define P5Type
#include “Sampler.h” - для добавочных модулей
Далее следует расставить точки измерения (SAMPLE) и откомпилировать программу.
Программы на Pascal. Для профилирования программы требуется подключить специальный модуль Sampler.Tpu из каталога P5TYPE.
Далее следует расставить точки измерения (SAMPLE) и откомпилировать программу.
© 1999 СПГЭТУ, кафедра МОЭВМ
Кирьянчиков Владимир Андреевич