Скачиваний:
12
Добавлен:
01.05.2014
Размер:
134.66 Кб
Скачать

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

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

Отчёт по лабораторной работе №3

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

Название работы: “Измерение характеристик динамической сложности программ с помощью стандартного профилировщика SAMPLER”

Выполнил: Ву Зуй Линь

Группа : 1305

Преподаватель: Кирьянчиков В.А.

Санкт - Петербург 2005 год

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

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

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

  3. Выявить "узкие места", ввести в программы усовершенствования и получить новые профили.

Сравнить результаты, полученные для Паскаля и С, с аналогичными результатами, полученными с помощью 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 16.76 1 16.76

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

1 : 11 1 : 13 39.39 1 39.39

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

1 : 13 1 : 15 78.78 1 78.78

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

1 : 15 1 : 16 1.68 1 1.68

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

1 : 16 1 : 19 9.22 1 9.22

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

1 : 19 1 : 22 16.76 1 16.76

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

1 : 22 1 : 25 40.23 1 40.23

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

1 : 25 1 : 28 78.78 1 78.78

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

1 : 28 1 : 29 0.00 1 0.00

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

1 : 29 1 : 35 8.38 1 8.38

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

1 : 35 1 : 41 16.76 1 16.76

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

1 : 41 1 : 47 39.39 1 39.39

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

1 : 47 1 : 53 77.94 1 77.94

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

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

Соседние файлы в папке Лаб3