Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №3.doc
Скачиваний:
18
Добавлен:
01.05.2014
Размер:
119.3 Кб
Скачать

Министерство общего и профессионального образования РФ

───────────────────────────

Санкт-Петербургский Государственный

Электротехнический Университет

“ЛЭТИ”

──────────────

Кафедра МОЭВМ

Отчёт

к лабораторной работе № 3

«Измерение характеристик

динамической сложности программ с помощью профилировщика Sampler»

по дисциплине

Метрология программного обеспечения ”

за VIII семестр.

ВАРИАНТ 15

Проверила: Боханова Е. В.

Выполнил: студент гр. № 3305

Мещеряков А. А.

2007 Г.

1. Формулировка задания

1. Ознакомиться с документацией на SAMPLER и выполнить под его управлением тестовые программы test_cyc.c и test_sub.c c анализом параметров повторения циклов и проверкой их влияния на точность и чувствительность профилирования.

2. Скомпилировать и выполнить под управлением SAMPLER'а программы на Паскале и С, разработанные в 1-ой лабораторной работе. Выполнить разбиение программы на функциональные участки и снять профили для двух режимов: 1 - измерение только полного времени выполения программы; 2 - измерение времен выполнения функциональных участков.

3. Выявить "узкие места", ввести в программы усовершенствования и получить новые профили. Сравнить результаты, полученные для Паскаля и С, с аналогичными результатами, полученными с помощью Turboprofiler'а.

Примечания:

1) необходимо пользоваться версией Sampler, размещенной в каталоге Sampler140906;

2) так как чувствительность SAMPLER'а по времени выше, чем у Turboprofiler'а, то вводить вспомогательное зацикливание программы обычно не требуется.

2. Выполнение работы

2.1.1 Профилирование программы test_cyc.C

Исходный текст программы:

#define Size 10000

#include "sampler.h"

int i, tmp, dim[Size];

void main()

{

SAMPLE;

for(i=0;i<Size/10;i++){ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

SAMPLE;

for(i=0;i<Size/5;i++){ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

SAMPLE;

for(i=0;i<Size/2;i++){ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

SAMPLE;

for(i=0;i<Size;i++) { tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

SAMPLE;

SAMPLE;

for(i=0;i<Size/10;i++)

{ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

SAMPLE;

for(i=0;i<Size/5;i++)

{ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

SAMPLE;

for(i=0;i<Size/2;i++)

{ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

SAMPLE;

for(i=0;i<Size;i++)

{ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

SAMPLE;

SAMPLE;

for(i=0;i<Size/10;i++)

{ tmp=dim[0];

dim[0]=dim[i];

dim[i]=tmp;

};

SAMPLE;

for(i=0;i<Size/5;i++)

{ tmp=dim[0];

dim[0]=dim[i];

dim[i]=tmp;

};

SAMPLE;

for(i=0;i<Size/2;i++)

{ tmp=dim[0];

dim[0]=dim[i];

dim[i]=tmp;

};

SAMPLE;

for(i=0;i<Size;i++)

{ tmp=dim[0];

dim[0]=dim[i];

dim[i]=tmp;

};

SAMPLE;

}

Результаты профилирования:

Отчет о результатах измерений для программы test_cyc.exe.

Создан программой Sampler ( версия от Feb 15 1999 )

1995-98 (c) СПбГЭТУ, Мойсейчук Леонид.

Список обработанных файлов.

----------------------------------------------------------------------

NN Имя обработанного файла

----------------------------------------------------------------------

1. TEST_CYC.CPP

----------------------------------------------------------------------

Таблица с результатами измерений ( используется 15 из 416 записей )

----------------------------------------------------------------------

Исх.Поз. Прием.Поз. Общее время(мкс) Кол-во прох. Среднее время(мкс)

----------------------------------------------------------------------

1 : 7 1 : 9 8.38 1 8.38

----------------------------------------------------------------------

1 : 9 1 : 11 15.92 1 15.92

----------------------------------------------------------------------

1 : 11 1 : 13 38.55 1 38.55

----------------------------------------------------------------------

1 : 13 1 : 15 77.10 1 77.10

----------------------------------------------------------------------

1 : 15 1 : 16 0.00 1 0.00

----------------------------------------------------------------------

1 : 16 1 : 19 8.38 1 8.38

----------------------------------------------------------------------

1 : 19 1 : 22 15.09 1 15.09

----------------------------------------------------------------------

1 : 22 1 : 25 38.55 1 38.55

----------------------------------------------------------------------

1 : 25 1 : 28 76.27 1 76.27

----------------------------------------------------------------------

1 : 28 1 : 29 0.84 1 0.84

----------------------------------------------------------------------

1 : 29 1 : 35 7.54 1 7.54

----------------------------------------------------------------------

1 : 35 1 : 41 15.92 1 15.92

----------------------------------------------------------------------

1 : 41 1 : 47 38.55 1 38.55

----------------------------------------------------------------------

1 : 47 1 : 53 75.43 1 75.43

----------------------------------------------------------------------

Вывод: Способ расположения исходного текста программы не влияет на профилирование.