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

Федеральное государственное образовательное учреждение

высшего профессионального образования

Санкт-Петербургский электротехнический университет (ЛЭТИ)

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

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

«Ознакомление с возможностями профилировщика VTune»

Вариант 15

Выполнил :

Судаков И.А. гр. 3351

Проверил :

Боханова Е.В.

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

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

1. Ознакомиться с документацией на VTuneи выполнить

для программы prost0.cследующее задание:

- компиляция с использованием автономного отладчика;

- профилирование по времени;

- профилирование по частоте;

- профилирование по средним временам на 1 вызов;

- запись результатов профилирования в файл для печати.

2. Выполнить тестовые программstest_cy1.c,test_cyc.c,

test_sub.ccанализом параметров повторения циклов и проверкой

их влияния на точность и чувствительность профилирования.

3. Скомпилировать и выполнить под управлением профилировщика VTune

программы на Паскале и С, разработанные в 1-ой лабораторной работе.

Снять все виды профилей, выявить "узкие места", ввести в

программы усовершенствования и получить новые профили. Если

времена выполнения рассматриваемых при профилировании фрагментов

программы малы для учета VTun'ом, ввести вспомогательное зацикливание

программы.

Испытания проводились на машине с процессором Intel Pentium 4 3.00ГГц под управлением ОСMicrosoft Windows XP Service Pack 2

1. Test_cyc.C

Анализ параметров повторения циклов.

Address

Line

Clockticks

Source

1

#define Size 1000000

2

int i, tmp, dim[Size]

3

01:0168

4

void main()

5

{

01:016B

6

1.76%

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

01:01B7

7

3.85%

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

01:0203

8

9.36%

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

01:024F

9

18.86%

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

01:029B

10

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

01:02A4

11

1.76%

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

01:02E7

12

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

01:02F0

13

3.74%

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

01:0333

14

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

01:033C

15

9.12%

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

01:037F

16

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

01:0388

17

18.46%

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

01:03CB

18

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

01:03D4

19

0.27%

{ tmp=dim[0];

01:03E0

20

0.89%

dim[0]=dim[i];

01:03F2

21

0.69%

dim[i]=tmp;

22

};

01:0417

23

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

01:0420

24

0.44%

{ tmp=dim[0];

01:042C

25

1.65%

dim[0]=dim[i];

01:043E

26

1.56%

dim[i]=tmp;

27

};

01:0463

28

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

01:046C

29

1.11%

{ tmp=dim[0];

01:0478

30

4.63%

dim[0]=dim[i];

01:048A

31

3.42%

dim[i]=tmp;

32

};

01:04AF

33

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

01:04B8

34

2.54%

{ tmp=dim[0];

01:04C4

35

8.12%

dim[0]=dim[i];

01:04D6

36

7.81%

dim[i]=tmp;

37

};

01:04FB

38

}