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

2. Test_cyc:

23%(87) от 378 samples.

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

Address Line Clockticks Source

1 #define Size 1000000

2 " int i, tmp, dim[Size];"

3

4 void main()

01:0010 5 {

01:0028 6 2 for(i=0;i<Size/10;i++){ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:0080 7 3 for(i=0;i<Size/5;i++){ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:00D8 8 8 for(i=0;i<Size/2;i++){ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:0130 9 17 for(i=0;i<Size;i++) { tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

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

01:01AD 11 2 { tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:01E0 12 2 for(i=0;i<Size/5;i++)

01:0205 13 1 { tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:0238 14 5 for(i=0;i<Size/2;i++)

01:025D 15 3 { tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:0290 16 7 for(i=0;i<Size;i++)

01:02B5 17 9 { tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:02E8 18 1 for(i=0;i<Size/10;i++)

01:030D 19 { tmp=dim[0];

01:0319 20 dim[0]=dim[i];

01:032B 21 1 dim[i]=tmp;

01:033E 22 };

01:0340 23 2 for(i=0;i<Size/5;i++)

01:0365 24 { tmp=dim[0];

01:0371 25 1 dim[0]=dim[i];

01:0383 26 dim[i]=tmp;

01:0396 27 };

01:0398 28 7 for(i=0;i<Size/2;i++)

01:03BD 29 { tmp=dim[0];

01:03C9 30 dim[0]=dim[i];

01:03DB 31 dim[i]=tmp;

01:03EE 32 1 };

01:03F0 33 10 for(i=0;i<Size;i++)

01:0415 34 1 { tmp=dim[0];

01:0421 35 3 dim[0]=dim[i];

01:0433 36 2 dim[i]=tmp;

01:0446 37 1 };

01:0448 38 }

Количество sample в процентах:

Address Line Clockticks Source

1 #define Size 1000000

2 " int i, tmp, dim[Size];"

3

4 void main()

01:0010 5 {

01:0028 6 "0,53%" for(i=0;i<Size/10;i++){ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:0080 7 "0,79%" for(i=0;i<Size/5;i++){ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:00D8 8 "1,85%" for(i=0;i<Size/2;i++){ tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:0130 9 "4,50%" for(i=0;i<Size;i++) { tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

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

01:01AD 11 "0,53%" { tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:01E0 12 "0,53%" for(i=0;i<Size/5;i++)

01:0205 13 "0,26%" { tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:0238 14 "1,32%" for(i=0;i<Size/2;i++)

01:025D 15 "0,79%" { tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:0290 16 "1,85%" for(i=0;i<Size;i++)

01:02B5 17 "2,38%" { tmp=dim[0]; dim[0]=dim[i]; dim[i]=tmp; };

01:02E8 18 "0,26%" for(i=0;i<Size/10;i++)

01:030D 19 { tmp=dim[0];

01:0319 20 dim[0]=dim[i];

01:032B 21 "0,26%" dim[i]=tmp;

01:033E 22 };

01:0340 23 "0,53%" for(i=0;i<Size/5;i++)

01:0365 24 { tmp=dim[0];

01:0371 25 "0,26%" dim[0]=dim[i];

01:0383 26 dim[i]=tmp;

01:0396 27 };

01:0398 28 "1,85%" for(i=0;i<Size/2;i++)

01:03BD 29 { tmp=dim[0];

01:03C9 30 dim[0]=dim[i];

01:03DB 31 dim[i]=tmp;

01:03EE 32 "0,26%" };

01:03F0 33 "2,65%" for(i=0;i<Size;i++)

01:0415 34 "0,26%" { tmp=dim[0];

01:0421 35 "0,79%" dim[0]=dim[i];

01:0433 36 "0,53%" dim[i]=tmp;

01:0446 37 "0,26%" };

01:0448 38 }

Время выполнения цикла напрямую зависит от количества повторений, что неудивительно. Порядок и способ записи операторов не влияют на скорость выполнения программы.