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

Министерство образования рф

САНКТ-ПЕТЕРБУРГСКИЙГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ»

Кафедра моэвм

ОТЧЁТ

По лабораторной работе № 2 по дисциплине : «Метрология программного обеспечения»

студенты группа № 1305

Фане С.

Преподаватель :

Кирьянчиков В.А.

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

  • 2005

Обработка программ prost0.pas, prost0.c.

Turbo Profiler Version 2.1 Mon May 10 23:04:14 2004

Program: F:\BORLANDC\BIN\PROST0.EXE File \

Time Counts

program prost;

{ Программа генерации простых чисел при помощи алгоритма Эвклида }

const maxprime=1000;

type

intarr=array[0..maxprime] of integer;

var

primes: intarr;

j,lastprime, curprime: integer;

0.0004 1 begin

0.0000 1 primes[0] := 2;

0.0000 1 primes[1] := 3;

0.0000 1 lastprime := 1;

0.0000 1 curprime := 3;

0.0000 1 writeln('prime0 = ', primes[0]);

0.0000 1 writeln('prime1 = ', primes[1]);

0.0004 499 while(curprime < MAXPRIME) do

begin

0.0004 498 for j := 0 to lastprime do

0.2332 15120 if((curprime mod primes[j]) = 0)

then begin

0.0002 333 curprime := curprime +2;

0.0003 333 break;

0.2331 14787 end;

0.0004 498 if((j+1) <= lastprime) then continue;

0.0001 166 lastprime:= lastprime+1;

0.0065 166 writeln('prime ', lastprime,'=', curprime);

0.0001 166 primes[lastprime] := curprime;

0.0001 166 curprime := curprime +2;

0.0001 166 end

0.0004 1 end.

Результаты профилирования по времени prost. pas

Execution Profile

Total time: 0.4763 sec

% of total: 100%

Run: 1 of 1

Display: Time

Filter: All

Sort: Frequency

PROST.20 0.2332 sec 48% | ===========================================

PROST.24 0.2331 sec 48% |==========================================

PROST.27 0.0065 sec 1% |=

PROST.9 0.0004 sec <1% |

PROST.17 0.0004 sec <1% |

PROST.19 0.0004 sec <1% |

PROST.25 0.0004 sec <1% |

PROST.31 0.0004 sec <1% |

PROST.23 0.0003 sec <1% |

PROST.22 0.0002 sec <1% |

PROST.26 0.0001 sec <1% |

PROST.30 0.0001 sec <1% |

PROST.28 0.0001 sec <1% |

PROST.29 0.0001 sec <1% |

PROST.15 0.0000 sec <1% |

PROST.16 0.0000 sec <1% |

PROST.13 0.0000 sec <1% |

PROST.12 0.0000 sec <1% |

PROST.10 0.0000 sec <1% |

PROST.11 0.0000 sec <1% |

Результаты профилирования по частоте prost. pas

Execution Profile

Total time: 0.4763 sec

% of total: 100%

Run: 1 of 1

Display: Count

Filter: All

Sort: Frequency

PROST.20 15120 45% |===========================================

PROST.24 14787 44% |==========================================

PROST.17 499 1% |=

PROST.25 498 1% |=

PROST.19 498 1% |=

PROST.23 333 1% |

PROST.22 333 1% |

PROST.28 166 <1% |

PROST.26 166 <1% |

PROST.29 166 <1% |

PROST.30 166 <1% |

PROST.27 166 <1% |

PROST.9 1 <1% |

PROST.16 1 <1% |

PROST.15 1 <1% |

PROST.13 1 <1% |

PROST.12 1 <1% |

PROST.10 1 <1% |

PROST.11 1 <1% |

PROST.31 1 <1% |

Результаты профилирования по средним временам на 1 вызов prost. pas

Execution Profile

Total time: 0.4763 sec

% of total: 100%

Run: 1 of 1

Display: Time per call

Filter: All

Sort: Frequency

PROST.9 0.0004 sec/call |===========================================

PROST.31 0.0004 sec/call |====================================

PROST.15 0.0000 sec/call |===

PROST.27 0.0000 sec/call |===

PROST.16 0.0000 sec/call |==

PROST.24 0.0000 sec/call |=

PROST.20 0.0000 sec/call |=

PROST.11 0.0000 sec/call |

PROST.19 0.0000 sec/call |

PROST.17 0.0000 sec/call |

PROST.10 0.0000 sec/call |

PROST.23 0.0000 sec/call |

PROST.13 0.0000 sec/call |

PROST.25 0.0000 sec/call |

PROST.26 0.0000 sec/call |

PROST.12 0.0000 sec/call |

PROST.28 0.0000 sec/call |

PROST.30 0.0000 sec/call |

PROST.29 0.0000 sec/call |

PROST.22 0.0000 sec/call |

Результаты профилирования по времени prost.c

Execution Profile

Total time: 0.7125 sec

% of total: 99 %

Run: 1 of 1

Display: Time

Filter: All

Sort: Frequency

#PROST_PAS#31 0.4751 sec 66%|===========================================

#PROST_PAS#22 0.0686 sec 9% |======

#PROST_PAS#17 0.0555 sec 7% |=====

#PROST_PAS#28 0.0553 sec 7% |=====

#PROST_PAS#19 0.0553 sec 7% |=====

#PROST_PAS#16 0.0006 sec <1% |

#PROST_PAS#21 0.0004 sec <1% |

#PROST_PAS#26 0.0003 sec <1% |

#PROST_PAS#24 0.0002 sec <1% |

#PROST_PAS#29 0.0002 sec <1% |

#PROST_PAS#30 0.0001 sec <1% |

#PROST_PAS#32 0.0001 sec <1% |

#PROST_PAS#33 0.0001 sec <1% |

_main 0.0000 sec <1% |

#PROST_PAS#14 0.0000 sec <1% |

#PROST_PAS#13 0.0000 sec <1% |

#PROST_PAS#11 0.0000 sec <1% |

#PROST_PAS#12 0.0000 sec <1% |

#PROST_PAS#35 0.0000 sec <1% |

Результаты профилирования по частоте prost. c

Execution Profile

Total time: 0.7125 sec

% of total: 99 %

Run: 1 of 1

Display: Counts

Filter: All

Sort: Frequency

#PROST_PAS#22 15122 82%|===========================================

#PROST_PAS#19 500 2% |=

#PROST_PAS#28 499 2% |=

#PROST_PAS#21 499 2% |=

#PROST_PAS#26 333 1% |

#PROST_PAS#29 333 1% |

#PROST_PAS#24 333 1% |

#PROST_PAS#31 166 <1% |

#PROST_PAS#32 166 <1% |

#PROST_PAS#33 166 <1% |

#PROST_PAS#30 166 <1% |

_main 1 <1% |

#PROST_PAS#17 1 <1% |

#PROST_PAS#16 1 <1% |

#PROST_PAS#14 1 <1% |

#PROST_PAS#13 1 <1% |

#PROST_PAS#11 1 <1% |

#PROST_PAS#12 1 <1% |

#PROST_PAS#35 1 <1% |

Результаты профилирования по средним временам на 1 вызов prost. c

Execution Profile

Total time: 0.7125 sec

% of total: 99 %

Run: 1 of 1

Display: Time per call

Filter: All

Sort: Frequency

#PROST_PAS#17 0.0555 sec/call |===========================================

#PROST_PAS#31 0.0028 sec/call |==

#PROST_PAS#16 0.0006 sec/call |

#PROST_PAS#28 0.0001 sec/call |

#PROST_PAS#19 0.0001 sec/call |

#PROST_PAS#22 0.0000 sec/call |

_main 0.0000 sec/call |

#PROST_PAS#21 0.0000 sec/call |

#PROST_PAS#14 0.0000 sec/call |

#PROST_PAS#24 0.0000 sec/call |

#PROST_PAS#26 0.0000 sec/call |

#PROST_PAS#13 0.0000 sec/call |

#PROST_PAS#29 0.0000 sec/call |

#PROST_PAS#30 0.0000 sec/call |

#PROST_PAS#12 0.0000 sec/call |

#PROST_PAS#32 0.0000 sec/call |

#PROST_PAS#11 0.0000 sec/call |

#PROST_PAS#33 0.0000 sec/call |

#PROST_PAS#35 0.0000 sec/call |

Выводы: Наиболее ресурсоемкой оказалась операция деления.

Так же к разряду «долгих» для выполнения команд можно отнести вывод на печать.

Обработка программ test_cyc.c, test_sub.c.

Программа test_cyc.c

#define Size 10000

int i, tmp, dim[Size];

void main()

{

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

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

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

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

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

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

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

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

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

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

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

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

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

{ tmp=dim[0];

dim[0]=dim[i];

dim[i]=tmp;

};

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

{ tmp=dim[0];

dim[0]=dim[i];

dim[i]=tmp;

};

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

{ tmp=dim[0];

dim[0]=dim[i];

dim[i]=tmp;

};

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

{ tmp=dim[0];

dim[0]=dim[i];

dim[i]=tmp;

};

}

Результаты профилирования по времени test_cyc.c

Execution Profile

Total time: 0.7233 sec

% of total: 99 %

Run: 1 of 1

Display: Time

Filter: All

Sort: Frequency

#TEST_СYC#35 0.2283 sec 31% |===========================================

#TEST_СYC#17 0.1735 sec 24% |=================================

#TEST_СYC#36 0.0638 sec 8% |============

#TEST_СYC#29 0.0593 sec 8% |===========

#TEST_СYC#31 0.0592 sec 8% |===========

#TEST_СУC#15 0.0592 sec 8% |===========

#TEST_СYC#20 0.0558 sec 7% |==========

#TEST_СУC#34 0.0088 sec 1% |=

#TEST_СYC#30 0.0044 sec <1% |

#TEST_СYC#26 0.0021 sec <1% |

#TEST_СYC#13 0.0017 sec <1% |

#TEST_СYC#25 0.0017 sec <1% |

#TEST_СYC#24 0.0017 sec <1% |

#TEST_СYC#21 0.0009 sec <1% |

#TEST_СYC#11 0.0009 sec <1%|

#TEST_СYC#19 0.0009 sec <1%|

#TEST_СYC#9 0.0001 sec <1% |

#TEST_СYC#8 0.0000 sec <1% |

#TEST_СYC#7 0.0000 sec <1% |

#TEST_СYC#6 0.0000 sec <1% |

_main 0.0000 sec <1% |

#TEST_СYC#28 0.0000 sec <1% |

#TEST_СYC#23 0.0000 sec <1% |

#TEST_СYC#18 0.0000 sec <1% |

#TEST_СYC#16 0.0000 sec <1% |

#TEST_СYC#33 0.0000 sec <1% |

#TEST_СYC#14 0.0000 sec <1% |

#TEST_СYC#10 0.0000 sec <1% |

#TEST_СYC#12 0.0000 sec <1% |

#TEST_СYC#38 0.0000 sec <1% |

Результаты профилирования по частоте test_сyc.c

Execution Profile

Total time: 0.7233 sec

% of total: 99 %

Run: 1 of 1

Display: Counts

Filter: All

Sort: Frequency

#TEST_СYC#17 10000 13% |===========================================

#TEST_СYC#36 10000 13% |===========================================

#TEST_СYC#34 10000 13% |===========================================

#TEST_СYC#35 10000 13% |===========================================

#TEST_СYC#15 5000 6% |=====================

#TEST_СYC#30 5000 6% |=====================

#TEST_СYC#29 5000 6% |=====================

#TEST_СYC#31 5000 6% |=====================

#TEST_СYC#24 2000 2% |========

#TEST_СYC#13 2000 2% |========

#TEST_СYC#26 2000 2% |========

#TEST_СYC#25 2000 2% |========

#TEST_СYC#21 1000 1% |====

#TEST_СYC#11 1000 1% |====

#TEST_СYC#20 1000 1% |====

#TEST_СУC#19 1000 1% |====

_main 1 <1% |

#TEST_СYC#23 1 <1% |

#TEST_СYC#18 1 <1% |

#TEST_СYC#16 1 <1% |

#TEST_СYC#14 1 <1% |

#TEST_СYC#28 1 <1% |

#TEST_СYC#12 1 <1% |

#TEST_СYC#10 1 <1% |

#TEST_СYC#9 1 <1% |

#TEST_СYC#33 1 <1% |

#TEST_СYC#8 1 <1% |

#TEST_СYC#6 1 <1% |

#TEST_СYC#7 1 <1% |

#TEST_СYC#38 1 <1% |

Результаты профилирования по средним временам на 1 вызов test_сyc.c

Execution Profile

Total time: 0.7233 sec

% of total: 99 %

Run: 1 of 1

Display: Time per call

Filter: All

Sort: Frequency

#TEST_СYC#9 0.0001 sec/call |===========================================

#TEST_СYC#20 0.0000 sec/call |=======================

#TEST_СYC#8 0.0000 sec/call |====================

#TEST_СYC#35 0.0000 sec/call |=========

#TEST_СYC#17 0.0000 sec/call |=======

#TEST_СYC#7 0.0000 sec/call |=======

#TEST_СYC#15 0.0000 sec/call |=====

#TEST_СYC#29 0.0000 sec/call |=====

#TEST_СYC#31 0.0000 sec/call |=====

#TEST_СYC#6 0.0000 sec/call |==

#TEST_СYC#36 0.0000 sec/call |==

_main 0.0000 sec/call |

#TEST_СYC#16 0.0000 sec/call |

#TEST_СYC#18 0.0000 sec/call |

#TEST_СYC#19 0.0000 sec/call |

#TEST_СYC#14 0.0000 sec/call |

#TEST_СYC#21 0.0000 sec/call |

#TEST_СYC#23 0.0000 sec/call |

#TEST_СYC#24 0.0000 sec/call |

#TEST_СYC#25 0.0000 sec/call |

#TEST_СYC#26 0.0000 sec/call |

#TEST_СYC#28 0.0000 sec/call |

#TEST_СYC#13 0.0000 sec/call |

#TEST_СYC#30 0.0000 sec/call |

#TEST_СYC#12 0.0000 sec/call |

#TEST_СYC#33 0.0000 sec/call |

#TEST_СYC#34 0.0000 sec/call |

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

Программа test_sub.cpp

const unsigned Size = 1000;

void TestLoop(int nTimes)

{

static int TestDim[Size];

int tmp;

int iLoop;

while (nTimes > 0)

{

nTimes --;

iLoop = Size;

while (iLoop > 0)

{

iLoop -- ;

tmp = TestDim[0];

TestDim[0] = TestDim[nTimes];

TestDim[nTimes] = tmp;

}

}

} /* TestLoop */

void main()

{

TestLoop(Size / 10); // 100 * 1000 повторений

TestLoop(Size / 5); // 200 * 1000 повторений

TestLoop(Size / 2); // 500 * 1000 повторений

TestLoop(Size / 1); // 1000* 1000 повторений

}

Результаты профилирования по времени test_ sub.c

Execution Profile

Total time: 8.4911 sec

% of total: 99%

Run: 1 of 1

Display: Time

Filter: All

Sort: Frequency

#TEST_SUB#20 2.1170 sec 24% |===========================================

#TEST_SUB#17 1.8410 sec 21% |=====================================

#TEST_SUB#15 1.7300 sec 20% |===================================

#TEST_SUB#19 1.5658 sec 18% |===============================

#TEST_SUB#18 1.2367 sec 14% |=========================

#TEST_SUB#14 0.0001 sec <1% |

#TEST_SUB#10 0.0001 sec <1% |

#TEST_SUB#12 0.0001 sec <1% |

TestLoop 0.0000 sec <1% |

#TEST_SUB#28 0.0000 sec <1% |

#TEST_SUB#23 0.0000 sec <1% |

_main

#TEST_SUB#29 0.0000 sec <1% |

Результаты профилирования по частоте test_ sub.c

Execution Profile

Total time: 8.4911 sec

% of total: 99 %

Run: 1 of 1

Display: Counts

Filter: All

Sort: Frequency

#TEST_SUB#15 154975 20% |===========================================

#TEST_SUB#17 154221 19% |==========================================

#TEST_SUB#18 154221 19% |==========================================

#TEST_SUB#19 154220 19% |==========================================

#TEST_SUB#20 154220 19% |

#TEST_SUB#10 159 <1% |

#TEST_SUB#12 155 <1% |

#TEST_SUB#14 155 <1% |

TestLoop 2 <1% |

#TEST_SUB#23 1 <1% |

#TEST_SUB#28 1 <1% |

_main 1 <1% |

#TEST_SUB#29 1 <1% |

#TEST_SUB#31 2 <1% |

#TEST_SUB#30 2 <1% |

#TEST_SUB#32 1 <1% |

Результаты профилирования по средним временам на 1 вызов test_ sub.c

Execution Profile

Total time: 8.4911 sec

% of total: 99 %

Run: 1 of 1

Display: Time per call

Filter: All

Sort: Frequency

#TEST_SUB#20 0.0000 sec/call |===========================================

#TEST_SUB#17 0.0000 sec/call |======================================

#TEST_SUB#15 0.0000 sec/call |===================================

#TEST_SUB#19 0.0000 sec/call |=================================

#TEST_SUB#18 0.0000 sec/call |=========================

#TEST_SUB#28 0.0000 sec/call |=====

TestLoop 0.0000 sec/call |==

#TEST_SUB#14 0.0000 sec/call |==

#TEST_SUB#10 0.0000 sec/call |==

#TEST_SUB#23 0.0000 sec/call |==

#TEST_SUB#12 0.0000 sec/call |==

_main 0.0000 sec/call |==

#TEST_SUB#29 0.0000 sec/call |==

Выводы: как показали проведенные исследования дольше всех выполняется внутренний цикл подпрограммы. Время же команд вызова подпрограммы незначительно мало.

Обработка собственной программы

Программа LABCPP .CPP

Turbo Profiler Version 2.1 Sun Apr 10 05:12:09 2005

Program: E:\LABO\METRO\LAB2\LABCPP.EXE File LABCPP.CPP

Time Counts

#include<iostream.h>

#include<math.h>

#include<conio.h>

#include<stdio.h>

float x,er,ec,res1;

int done;

0 0 float erf(float x)

{

0 0 const sqrtpi = 1.7724538,

0 0 t2 = 0.66666667,

0 0 t3 = 0.66666667,

0 0 t4 = 0.07619048,

0 0 t5 = 0.01693122,

0 0 t6 = 3.078403E-3,

0 0 t7 = 4.736005E-4,

0 0 t8 = 6.314673E-5,

0 0 t9 = 7.429027E-6,

0 0 t10 = 7.820028E-7,

0 0 t11 = 7.447646E-8,

0 0 t12 = 6.476214E-9;

float x2,sum;

int i;

0 0 x2 = x*x;

0 0 sum = t5+x2*(t6+x2*(t7+x2*(t8+x2*(t9+x2*(t10+x2*(t11+x2*t1

0 0 res1 = (2.0*exp(-x2)/sqrtpi*(x*(1+x2*(t2+x2*(t3+x2*(t4+x2*

0 0 return res1;

0 0 }

float res2;

0.0000 6 float erfc( float x )

{

0.0000 6 const sqrtpi = 1.7724538;

float x2,v,sum ;

0.0000 6 x2 = x*x;

0.0000 6 v = 1.0/(2.0*x2);

0.0000 6 sum = v/(1+8*v/(1+9*v/(1+10*v/(1+11*v/(1+12*v)))));

0.0000 6 sum = v/(1+3*v/(1+4*v/(1+5*v/(1+6*v/(1+7*sum)))));

0.0000 6 res2 = (1.0/(exp(x2)*x*sqrtpi*(1+v/(1+2*sum))));

0.0000 6 return res2;

0.0000 6 }

0.0000 1 void main()

{

0.0001 1 clrscr();

0.0000 1 done=0;

0.0000 1 printf("\n");

do

{

0.0007 7 printf("Arg? ");

8.0597 7 scanf("%f",&x);

0.0000 7 if( x < 0.0 ) { done = 1; }

else

{

0.0000 6 if (x==0.0 )

Turbo Profiler Version 2.1 Sun Apr 24 05:12:09 2005

{

0 0 er=0.0;

0 0 ec=1.0;

0 0 }

else

{

0.0000 6 if( x<1.5)

{

0 0 er=erf(x);

0 0 ec=1.0-er;

}

else

{

0.0000 6 ec=erfc(x);

0.0000 6 er=1.0-ec;

}

}

0.0011 6 printf("X= %f",x ," Erf= %f",er,", Erfc= %f",ec);

}

0.0000 7 } while (done == 0);

0.0000 1 }

Результаты профилирования по времени LABCPP.c

Turbo Profiler Version 2.1 Sun Apr 10 05:54:14 2005

Program: E:\LABO\METRO\LAB2\LABCPP.EXE

Execution Profile

Total time: 5.1952 sec

% of total: 99 %

Run: 1 of 1

Filter: All

Show: Time

Sort: Frequency

#LABCPP#55 5.1917 sec 99% |**********************************************

#LABCPP#43 0.0007 sec <1% |

#LABCPP#77 0.0006 sec <1% |

#LABCPP#54 0.0003 sec <1% |

#LABCPP#49 0.0001 sec <1% |

#LABCPP#51 0.0000 sec <1% |

#LABCPP#42 0.0000 sec <1% |

#LABCPP#41 0.0000 sec <1% |

#LABCPP#73 0.0000 sec <1% |

#LABCPP#56 0.0000 sec <1% |

#LABCPP#44 0.0000 sec <1% |

#LABCPP#74 0.0000 sec <1% |

#LABCPP#40 0.0000 sec <1% |

#LABCPP#39 0.0000 sec <1% |

#LABCPP#66 0.0000 sec <1% |

#LABCPP#59 0.0000 sec <1% |

#LABCPP#79 0.0000 sec <1% |

#LABCPP#35 0.0000 sec <1% |

#LABCPP#45 0.0000 sec <1% |

erfc 0.0000 sec <1% |

_main 0.0000 sec <1% |

#LABCPP#50 0.0000 sec <1% |

#LABCPP#80 0.0000 sec <1% |

Результаты профилирования по частоте LABCPP.C

Turbo Profiler Version 2.1 Sun Apr 10 06:04:14 2005

Program: E:\LABO\METRO\LAB2\LABCPP.EXE

Execution Profile

Total time: 3.7050 sec

% of total: 99 %

Run: 1 of 1

Filter: All

Show: Counts

Sort: Frequency

#LABCPP#79 3 6% |++++++++++++++++++++++++++++++++++++++++++++++

#LABCPP#56 3 6% |++++++++++++++++++++++++++++++++++++++++++++++

#LABCPP#54 3 6% |++++++++++++++++++++++++++++++++++++++++++++++

#LABCPP#55 3 6% |++++++++++++++++++++++++++++++++++++++++++++++

#LABCPP#73 2 4% |++++++++++++++++++++++++++++++

#LABCPP#42 2 4% |++++++++++++++++++++++++++++++

#LABCPP#43 2 4% |++++++++++++++++++++++++++++++

#LABCPP#44 2 4% |++++++++++++++++++++++++++++++

#LABCPP#45 2 4% |++++++++++++++++++++++++++++++

#LABCPP#41 2 4% |++++++++++++++++++++++++++++++

#LABCPP#77 2 4% |++++++++++++++++++++++++++++++

erfc 2 4% |++++++++++++++++++++++++++++++

#LABCPP#74 2 4% |++++++++++++++++++++++++++++++

#LABCPP#40 2 4% |++++++++++++++++++++++++++++++

#LABCPP#39 2 4% |++++++++++++++++++++++++++++++

#LABCPP#59 2 4% |++++++++++++++++++++++++++++++

#LABCPP#35 2 4% |++++++++++++++++++++++++++++++

#LABCPP#66 2 4% |++++++++++++++++++++++++++++++

#LABCPP#50 1 2% |+++++++++++++++

#LABCPP#51 1 2% |+++++++++++++++

_main 1 2% |+++++++++++++++

#LABCPP#49 1 2% |+++++++++++++++

#LABCPP#80 1 2% |+++++++++++++++

Результаты профилирования по средним временам на 1 вызов LABCPP.C

Turbo Profiler Version 2.1 Sun Apr 10 05:12:45 2005

Program: E:\LABO\METRO\LAB2\LABCPP.EXE

Execution Profile

Total time: 8.0624 sec

% of total: 99 %

Run: 1 of 1

Filter: All

Show: Time per call

Sort: Frequency

#LABCPP#55 1.1513 sec/call |**********************************************

#LABCPP#77 0.0001 sec/call |

#LABCPP#49 0.0001 sec/call |

#LABCPP#54 0.0001 sec/call |

#LABCPP#51 0.0000 sec/call |

#LABCPP#43 0.0000 sec/call |

#LABCPP#41 0.0000 sec/call |

#LABCPP#42 0.0000 sec/call |

#LABCPP#73 0.0000 sec/call |

erfc 0.0000 sec/call |

_main 0.0000 sec/call |

#LABCPP#50 0.0000 sec/call |

#LABCPP#45 0.0000 sec/call |

#LABCPP#44 0.0000 sec/call |

#LABCPP#40 0.0000 sec/call |

#LABCPP#56 0.0000 sec/call |

#LABCPP#59 0.0000 sec/call |

#LABCPP#66 0.0000 sec/call |

#LABCPP#39 0.0000 sec/call |

#LABCPP#74 0.0000 sec/call |

#LABCPP#79 0.0000 sec/call |

#LABCPP#35 0.0000 sec/call |

#LABCPP#80 0.0000 sec/call |

Выводы:

По результатам проведенного профилирования можно сделать следующие выводы: когда цикл вместе с заголовком записан в одну строку, его выполнение занимает незначительный промежуток времени. Когда тело цикла записано в отдельную строку (без заголовка цикла) . Когда каждый оператор цикла (в том числе и заголовок) записан в отдельную строку, то уже рассматривается время выполнения каждого оператора по отдельности и в результате время выполнения всего цикла значительно возрастает.

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

После профилирования программы можно отметить следующее: данная программа выполнялась 8.0624 строк

Что касается наибольшего времени на один вызов – главная программа: 1.1513 sec/call.

Соседние файлы в папке Лабораторная работа №23