Time consumption:
No of times the basic block of program executed.
consider writing a factorial program where to factorial of number we create something like this
for(i=1;i<N;i++)
fact=fact*i;//consider initial value if fact as '1'
this is basic block i.e main concept of program
Now how to find the time consumption of this process well,we have lot technique let's see one by one
Method 1:
Here Logic is simple get time from system before and after basic block execution and find the difference between them
Method 2:
Logic is based on the processor consumption of the program,we can find time consumption
problem is we can use this for large program but for small program the result will be zero(our processor are fast now-a-days)
Method 3:
Piece of cake method
This method is much more simple than above method but it will work in linux
In console: time <your program>
sample output
real 0m3.993s
user 0m0.000s
sys 0m0.000s
No of times the basic block of program executed.
consider writing a factorial program where to factorial of number we create something like this
for(i=1;i<N;i++)
fact=fact*i;//consider initial value if fact as '1'
this is basic block i.e main concept of program
Now how to find the time consumption of this process well,we have lot technique let's see one by one
Method 1:
#include <stdio.h> #include <time.h> #include <conio.h> #include <iostream.h> void main (void) { clrscr(); int sum,a,b; time_t time1,time2; double dif_sec; time (&time1); cout << "Enter the value of a :"<<endl; cin >> a; cout << "Enter the value of b :"<<endl; cin >> b; sum = a + b; time (&time2); dif_sec = difftime (time2,time1); cout << "\nThe sum is : " << sum<<endl; cout << "\nIt took you " << dif_sec << " seconds to enter the numbers and calculate the sum"<<endl; cout << "Press Any key to Continue....."; getch(); }
Here Logic is simple get time from system before and after basic block execution and find the difference between them
Method 2:
/* clock example: frequency of primes */ #include <stdio.h> /* printf */ #include <time.h> /* clock_t, clock, CLOCKS_PER_SEC */ #include <math.h> /* sqrt */ int frequency_of_primes (int n) { int i,j; int freq=n-1; for (i=2; i<=n; ++i) for (j=sqrt(i);j>1;--j) if (i%j==0) {--freq; break;} return freq; } int main () { clock_t t; int f; t = clock(); printf ("Calculating...\n"); f = frequency_of_primes (99999); printf ("The number of primes lower than 100,000 is: %d\n",f); t = clock() - t; printf ("It took me %d clicks (%f seconds).\n",t,((float)t)/CLOCKS_PER_SEC); return 0; }
Logic is based on the processor consumption of the program,we can find time consumption
problem is we can use this for large program but for small program the result will be zero(our processor are fast now-a-days)
Method 3:
Piece of cake method
This method is much more simple than above method but it will work in linux
In console: time <your program>
sample output
real 0m3.993s
user 0m0.000s
sys 0m0.000s
Comments
Post a Comment