delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2003/03/17/07:18:37

From: "Alex Vinokur" <alexvn AT bigfoot DOT com>
Newsgroups: comp.os.msdos.djgpp,gnu.gcc.help,gnu.utils.help
Subject: gcc -O3 & gprof
Date: Mon, 17 Mar 2003 13:59:33 +0200
Lines: 109
Message-ID: <b54db9$252aq3$1@ID-79865.news.dfncis.de>
NNTP-Posting-Host: pop03-2-ras5-p83.barak.net.il (212.150.100.83)
X-Trace: fu-berlin.de 1047902379 72428355 212.150.100.83 (16 [79865])
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.50.4522.1200
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

=====================
Windows 2000
DJGPP 2.03
GNU gcc version 3.2.1
GNU gprof 2.13
=====================


Here is a simple program that has been profiled with using gprof.
We can see that if the program is compiled with option -O3
 then gprof's output doesn't contained called functions foo1() and foo2().

Any explanation ?


========= C code : BEGIN =========
/* File main.c */

int foo1 (int argc) { return argc; }
int foo2 (int argc) { return argc; }

int main(int argc)
{
  return (foo1(argc) + foo2(argc));
}

========= C code : END ===========


========= Compiling & Running : BEGIN =========

% gcc -o a0.exe main.c -g -pg
% a0.exe
% gprof -b a0.exe

Flat profile:

Each sample counts as 0.0555556 seconds.
 no time accumulated

  %   cumulative   self              self     total
 time   seconds   seconds    calls  Ts/call  Ts/call  name
  0.00      0.00     0.00        1     0.00     0.00  foo1
  0.00      0.00     0.00        1     0.00     0.00  foo2
  0.00      0.00     0.00        1     0.00     0.00  main
[---omitted---]


-----------------------------------------------
% gcc -O1 -o a1.exe main.c -g -pg
% a1.exe
% gprof -b a1.exe

Flat profile:

Each sample counts as 0.0555556 seconds.
 no time accumulated

  %   cumulative   self              self     total
 time   seconds   seconds    calls  Ts/call  Ts/call  name
  0.00      0.00     0.00        1     0.00     0.00  foo1
  0.00      0.00     0.00        1     0.00     0.00  foo2
  0.00      0.00     0.00        1     0.00     0.00  main
[---omitted---]



-----------------------------------------------
% gcc -O2 -o a2.exe main.c -g -pg
% a2.exe
% gprof -b a2.exe

Flat profile:

Each sample counts as 0.0555556 seconds.
 no time accumulated

  %   cumulative   self              self     total
 time   seconds   seconds    calls  Ts/call  Ts/call  name
  0.00      0.00     0.00        1     0.00     0.00  foo1
  0.00      0.00     0.00        1     0.00     0.00  foo2
  0.00      0.00     0.00        1     0.00     0.00  main
[---omitted---]


-----------------------------------------------
% gcc -O3 -o a3.exe main.c -g -pg
% a3.exe
% gprof -b a3.exe

Flat profile:

Each sample counts as 0.0555556 seconds.
 no time accumulated

  %   cumulative   self              self     total
 time   seconds   seconds    calls  Ts/call  Ts/call  name
  0.00      0.00     0.00        1     0.00     0.00  main
[---omitted---]

========= Compiling & Running : END ===========

   =================================
   Alex Vinokur
     mailto:alexvn AT connect DOT to
     http://www.simtel.net/pub/oth/19088.html
   =================================


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019