/*
Programa para demonstrar o uso do profiler

1. compilar: gcc -Wall -pg demo-profile.c -o demo-profile
2. executar: ./demo-profile
3. gerar profile:  gprof demo-profile gmon.out > profile.txt

Carlos Maziero, DINF/UFPR 2020
*/

#include<stdio.h>

// do some work
void work ()
{
  for (int i=0; i<20000; i++)
    for (int j=0; j<20000; j++) ;
}

void f3 (void)
{
  printf ("      Inside f3\n") ;
  work () ;
}

void f2 (void)
{
  printf ("    Inside f2\n") ;
  work () ;
  f3 ();
}

void f1 (void)
{
  printf("  Inside f1\n") ;
  work () ;
  for (int i=0; i<5; i++)
    f2 () ;
}

int main(void)
{
  printf("Inside main\n");
  work () ;
  f1 () ;
  f3 () ;
}
