Обработка программ prost0.pas, prost0.c.
Программ prost0.Cpp
Turbo Profiler Version 2.1 Thu Apr 22 02:59:45 2004
Program: D:\BORLANDC\BIN\PROST0_C.EXE File E:\WORK\8_CEM\METR\MPO\LABS\LAB2_1\S
Time Counts
#include "stdio.h";
int primes[1000];
#define MAXPRIMES 1000
0.0000 1 main()
{
int j;
int lastprime, curprime;
0.0000 1 primes[0] = 2;
0.0000 1 primes[1] = 3;
0.0000 1 lastprime = 1;
0.0000 1 curprime = 3;
0.0001 1 printf("prime %d = %d\n", 0, primes[0]);
0.0001 1 printf("prime %d = %d\n", 1, primes[1]);
0.0008 500 while(curprime < MAXPRIMES)
{
0.1652 499 for(j = 0; j <= lastprime; j++)
0.4670 15122 if((curprime % primes[j]) == 0)
{
0.0020 333 curprime += 2;
0.0005 333 break;
}
0.0004 499 if(j <= lastprime)
0.0002 333 continue;
0.0004 166 lastprime++;
0.0226 166 printf("prime %d = %d\n", lastprime, curprime);
0.0001 166 primes[lastprime] = curprime;
0.0001 166 curprime += 2;
}
0.0000 1 }
Результаты профилирования по времени prost.c
Turbo Profiler Version 2.1 Thu Apr 22 03:00:05 2004
Program: D:\BORLANDC\BIN\PROST0_C.EXE
Execution Profile
Total time: 0.6605 sec
% of total: 99 %
Run: 1 of 1
Filter: All
Show: Time
Sort: Frequency
#PROST0_C#22 0.4670 sec 70% |**********************************************
#PROST0_C#21 0.1652 sec 25% |****************
#PROST0_C#31 0.0226 sec 3% |**
#PROST0_C#24 0.0020 sec <1% |
#PROST0_C#19 0.0008 sec <1% |
#PROST0_C#26 0.0005 sec <1% |
#PROST0_C#30 0.0004 sec <1% |
#PROST0_C#28 0.0004 sec <1% |
#PROST0_C#29 0.0002 sec <1% |
#PROST0_C#32 0.0001 sec <1% |
#PROST0_C#16 0.0001 sec <1% |
#PROST0_C#33 0.0001 sec <1% |
#PROST0_C#17 0.0001 sec <1% |
_main 0.0000 sec <1% |
#PROST0_C#14 0.0000 sec <1% |
#PROST0_C#13 0.0000 sec <1% |
#PROST0_C#11 0.0000 sec <1% |
#PROST0_C#12 0.0000 sec <1% |
#PROST0_C#35 0.0000 sec <1% |
Результаты профилирования по частоте prost. c
Turbo Profiler Version 2.1 Thu Apr 22 03:00:24 2004
Program: D:\BORLANDC\BIN\PROST0_C.EXE
Execution Profile
Total time: 0.6605 sec
% of total: 99 %
Run: 1 of 1
Filter: All
Show: Counts
Sort: Frequency
#PROST0_C#22 15122 82% |++++++++++++++++++++++++++++++++++++++++++++++
#PROST0_C#19 500 2% |+
#PROST0_C#28 499 2% |+
#PROST0_C#21 499 2% |+
#PROST0_C#26 333 1% |+
#PROST0_C#29 333 1% |+
#PROST0_C#24 333 1% |+
#PROST0_C#31 166 <1% |
#PROST0_C#32 166 <1% |
#PROST0_C#33 166 <1% |
#PROST0_C#30 166 <1% |
_main 1 <1% |
#PROST0_C#17 1 <1% |
#PROST0_C#16 1 <1% |
#PROST0_C#14 1 <1% |
#PROST0_C#13 1 <1% |
#PROST0_C#11 1 <1% |
#PROST0_C#12 1 <1% |
#PROST0_C#35 1 <1% |
Результаты профилирования по средним временам на 1 вызов prost. C
Turbo Profiler Version 2.1 Thu Apr 22 03:00:37 2004
Program: D:\BORLANDC\BIN\PROST0_C.EXE
Execution Profile
Total time: 0.6605 sec
% of total: 99 %
Run: 1 of 1
Filter: All
Show: Time per call
Sort: Frequency
#PROST0_C#21 0.0003 sec/call |**********************************************
#PROST0_C#16 0.0001 sec/call |*******************
#PROST0_C#31 0.0001 sec/call |******************
#PROST0_C#17 0.0001 sec/call |**************
#PROST0_C#22 0.0000 sec/call |****
#PROST0_C#24 0.0000 sec/call |
#PROST0_C#30 0.0000 sec/call |
#PROST0_C#19 0.0000 sec/call |
#PROST0_C#26 0.0000 sec/call |
_main 0.0000 sec/call |
#PROST0_C#14 0.0000 sec/call |
#PROST0_C#28 0.0000 sec/call |
#PROST0_C#29 0.0000 sec/call |
#PROST0_C#13 0.0000 sec/call |
#PROST0_C#12 0.0000 sec/call |
#PROST0_C#32 0.0000 sec/call |
#PROST0_C#11 0.0000 sec/call |
#PROST0_C#33 0.0000 sec/call |
#PROST0_C#35 0.0000 sec/call |
Выводы: Наиболее ресурсоемкой оказалась операция деления.
Так же к разряду «долгих» для выполнения команд можно отнести вывод на печать.
Обработка программ test_cyc.c, test_sub.c.