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

Demystify - Linux GUI

GUI In Linux GUI ( Graphics User Interface ) as everyone know about.  I am writing this article so that we can able to understand how to run GUI apps in containers but we need to understand how it works in linux. Why linux?   Most of the container we use are Linux based inorder run GUI in Linux we need know how it works.. Back in early days computer fill the entire room and if you want to access it you will be presented TTY (TeleType Machine) you can still see this screen if you press CTRL + ALT + F1 in Linux. ( To get back to GUI press CTRL + ALT + F7 ) Linux spin off 8 TTY when it boots ( we can configure more or less ) Graphics in linux is handled by bunch of little programs. They are Display manager Display manger which is the key component for graphics in which mainly graphics servers lie in linux the X.org is the defacto of Display manger. which has two components X Server  X Client Here little twist server talks to the client ( o...

Vim - Text Editor which last for Decade

what's Vim?     Vim is a highly configurable text editor for efficiently creating and changing any kind of text. It is included as "vi" with most UNIX systems and with Apple OS X                                                                                                            ---> From Vim.org  when i first heard it, what a command line editor which is awesome and i said to myself  NO WAY, there are tons of editor which looks good and easy learn curve such as Atom,Sublime,VSCode and bunch others What makes vim special than other editors?  Different from everything you have used before ( because it has modes - insert mode,visual mode,Command mode ) Forget the mouse ( why?...

My First Open Source Contribution

It's my dream to contribute to open source. It is all started in 2 year of college i came to know the linux is so much awesome to work and learn about computer and know about github where you can find the open source software code. I thought, I need to learn more to contribute to the software community later i read lot of article about contributing to opensource. Every article say Learn a programming language you like. Find a project written in programming language you choose. Read it. Use it. Find any bug open a issue. Fix the issue Seems like simple as pie. I thought let's give it a try My scenario I use C to solve program in hackerrank and other coding sites and i know little bit about C++ and java at the time. when i searched for the project, all project are seems to be dinosaur huge, Finally i convinced myself and pick a project. I started reading the source code. It donot understand lot of code and i donot know where to find those answers. then frus...