Skip to main content

Find out Time Consumption of Process

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:
#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

Popular posts from this blog

Ecosia

ECOSIA - A Green search engine “ Ecosia donates 80% profits to planting trees” Site: www.ecosia.org Lauched on 7 th December 2009 and created by Christian Kroll available in more than 26 language. It is located in Berlin, Germany.It is also called as CO2-neutral company.Ecosia has donated to different tree-planting programs. Until December 2010 Ecosia’s donations went to a program by WWF Germany that protected the Juruena-National park in the Amazonas. In order to make sure the protection was kept up, the program also drew up and financed plans with timber companies and the  local communities. According to B-labs, as of January 2015, "In donating 80 percent of its ad revenue, the search engine has raised over $1.5 million for rainforest protection since its founding in December 2009." According to Ecosia, by 2015, the search engine had almost 2.5 million active users, and searches through it had resulted in more than 2 million trees being planted.Since October 201...

codefest-ctf-18 writeup

Codefest is online CTF challenge conducted by Hackerrank on August 31 2018 6:00 PM IST to September 1 2018 12:00 PM IST. They have given dozens of challenges.  link: https://www.hackerrank.com/contests/codefest-ctf-18/challenges I manage to complete two challenges in this article i will explain how i solved the two  Typing Master Question If you think you have it in you, connect now to 34.216.132.109 9093 and prove your mettle. You will be presented with a simple typing task which is meant to check your typing speed. For example, Can you type 'Z' 10 times followed by 'u' 6 times, followed by the sum of their ASCII values? ZZZZZZZZZZuuuuuu207 Input Format Regarding input to the server - The question was designed keeping netcat in mind. Some users who are using other tools/language (eg, Python, PuTTY, TELNET) to connect to the server please note that they do not terminate the strings like netcat does. If you choose not to use netcat, t...

C program jackpot

/*Program to show sum of 10 elements of array & show the average.*/ #include<stdio.h> int main () { int a[ 10 ],i,sum = 0 ; float av; printf( "enter elements of an aaray: " ); for (i = 0 ;i < 10 ;i ++ ) scanf( "%d" , & a[i]); for (i = 0 ;i < 10 ;i ++ ) sum = sum + a[i]; printf( "sum=%d" ,sum); av = sum / 10 ; printf( "average=%.2f" ,av); return 0 ; } Output: enter elements of an array : 4 4 4 4 4 4 4 4 4 4 sum = 40 average = 4.00 /*Program to find the maximum no. in an array.*/ #include<stdio.h> void main () { int a[ 5 ],max,i; printf( "enter element for the array: " ); for (i = 0 ;i < 5 ;i ++ ) scanf( "%d" , & a[i]); max = a[ 0 ]; for (i = 1 ;i < 5 ;i ++ ) { if (max < a[i]) max = a[i]; } printf( "maximum no= %d" ,max); } Output: enter elements for array : 5 4 7 1 2 maximum no = 7 /*Swapp...