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

5000*1000 Повторений

Address

Line

Source

Clockticks (EBS)

Timer (TBS)

 

1

const unsigned Size = 10000;

 

 

 

2

 

 

 

3

 

 

 

4

void TestLoop(int nTimes)

 

 

0x1000

5

{

 

 

 

6

static int TestDim[Size];

 

 

 

7

int tmp;

 

 

 

8

int iLoop;

 

 

 

9

 

 

0x101E

10

while (nTimes > 0)

 

 

 

11

{

 

 

0x1024

12

nTimes --;

 

 

 

13

 

 

0x102D

14

iLoop = Size;

 

 

0x1034

15

while (iLoop > 0)

134

61

 

16

{

 

 

0x103A

17

iLoop -- ;

93

35

0x1043

18

tmp = TestDim[0];

100

35

0x104B

19

TestDim[0] = TestDim[nTimes];

205

86

0x105B

20

TestDim[nTimes] = tmp;

173

72

0x1068

21

}

74

34

0x106A

22

}

 

 

0x106C

23

} /* TestLoop */

 

 

 

24

 

 

 

25

 

 

 

26

void main()

 

 

0x1080

27

{

 

 

 

28

//TestLoop(Size / 10); // 1000 * 1000 Ї®ўв®аҐ­Ё©

 

 

 

29

//TestLoop(Size / 5); // 2000 * 1000 Ї®ўв®аҐ­Ё©

 

 

0x109E

30

TestLoop(Size / 2); // 5000 * 1000 Ї®ўв®аҐ­Ё©

 

 

 

31

//TestLoop(Size / 1); // 10000* 1000 Ї®ўв®аҐ­Ё©

 

 

0x10AB

32

}

 

 

10000*1000 Повторений

Address

Line

Source

Clockticks (EBS)

Timer (TBS)

 

1

const unsigned Size = 10000;

 

 

 

2

 

 

 

3

 

 

 

4

void TestLoop(int nTimes)

 

 

0x1000

5

{

 

 

 

6

static int TestDim[Size];

 

 

 

7

int tmp;

 

 

 

8

int iLoop;

 

 

 

9

 

 

0x101E

10

while (nTimes > 0)

 

 

 

11

{

 

 

0x1024

12

nTimes --;

 

 

 

13

 

 

0x102D

14

iLoop = Size;

 

 

0x1034

15

while (iLoop > 0)

321

124

 

16

{

 

 

0x103A

17

iLoop -- ;

159

80

0x1043

18

tmp = TestDim[0];

172

60

0x104B

19

TestDim[0] = TestDim[nTimes];

454

183

0x105B

20

TestDim[nTimes] = tmp;

300

136

0x1068

21

}

145

60

0x106A

22

}

 

 

0x106C

23

} /* TestLoop */

 

 

 

24

 

 

 

25

 

 

 

26

void main()

 

 

0x1080

27

{

 

 

 

28

//TestLoop(Size / 10); // 1000 * 1000 Ї®ўв®аҐ­Ё©

 

 

 

29

//TestLoop(Size / 5); // 2000 * 1000 Ї®ўв®аҐ­Ё©

 

 

 

30

//TestLoop(Size / 2); // 5000 * 1000 Ї®ўв®аҐ­Ё©

 

 

0x109E

31

TestLoop(Size / 1); // 10000* 1000 Ї®ўв®аҐ­Ё©

 

 

0x10AB

32

}

 

 

Сводная таблица по EBS

Address

Line

Source

Size/10

Size/5

Size/2

Size/1

0x1034

15

while (iLoop > 0)

30

55

134

321

 

16

{

 

 

 

 

0x103A

17

iLoop -- ;

25

44

93

159

0x1043

18

tmp = TestDim[0];

16

38

100

172

0x104B

19

TestDim[0] = TestDim[nTimes];

36

85

205

454

0x105B

20

TestDim[nTimes] = tmp;

27

59

173

300

0x1068

21

}

19

29

74

145

Сводная таблица по TBS

Address

Line

Source

Size/10

Size/5

Size/2

Size/1

0x1034

15

while (iLoop > 0)

20

29

61

124

 

16

{

 

 

 

 

0x103A

17

iLoop -- ;

12

14

35

80

0x1043

18

tmp = TestDim[0];

17

9

35

60

0x104B

19

TestDim[0] = TestDim[nTimes];

36

39

86

183

0x105B

20

TestDim[nTimes] = tmp;

16

28

72

136

0x1068

21

}

16

10

34

60

С увеличением количества повторений тела цикла примерно пропорционально увеличивается количество точек контроля, пришедшихся на строку кода. При этом процентное соотношение времен выполнения операторов остается прежним, как и следовало ожидать, потому что логика их выполнения не зависит от числа повторений. Также это свидетельствует о том, что при первом запуске точность профилирования уже была достаточной.

Соседние файлы в папке Лабораторная работа №2
  • #
    01.05.201470.66 Кб24Lab2_sempl_results.xls
  • #
    01.05.2014627.71 Кб24LAB_2.doc