[comp.sys.sgi] profiler

corkum@csri.toronto.edu (Brent Thomas Corkum) (12/05/90)

A quick question, is there a profiler available for a C program
running on a 4D/25. The profiler being a transparent process, meaning
I don't want to place function calls within my program, that will tell me
the amount of cpu time spent in each function within a program.

If there isn't, what do programmers use to tackle such a question?

Brent Corkum
corkum@boulder.civ.toronto.edu

bennett@sgi.com (Jim Bennett) (12/11/90)

In article <1990Dec5.005445.21368@jarvis.csri.toronto.edu> corkum@csri.toronto.edu (Brent Thomas Corkum) writes:
>A quick question, is there a profiler available for a C program
>running on a 4D/25. The profiler being a transparent process, meaning
>I don't want to place function calls within my program, that will tell me
>the amount of cpu time spent in each function within a program.
>
>If there isn't, what do programmers use to tackle such a question?
>
>Brent Corkum
>corkum@boulder.civ.toronto.edu

See pixie(1).  It fixes up your binary with basic block counters.

Ther other profiler is profil(2).  It samples your PC at 10 millisecond
intervals, but you have to put the call to profil explicitly in your
program to enable the PC sampling.

Jim Bennett				(bennett@esd.sgi.com)

micah@flobb4.csd.sgi.com (Micah Altman) (12/12/90)

In <1990Dec10.182523.9827@odin.corp.sgi.com> bennett@sgi.com (Jim Bennett) writes:

>In article <1990Dec5.005445.21368@jarvis.csri.toronto.edu> corkum@csri.toronto.edu (Brent Thomas Corkum) writes:
>>A quick question, is there a profiler available for a C program
>>running on a 4D/25. The profiler being a transparent process, meaning
>>I don't want to place function calls within my program, that will tell me
>>the amount of cpu time spent in each function within a program.
>>
>>If there isn't, what do programmers use to tackle such a question?
>>
>>Brent Corkum
>>corkum@boulder.civ.toronto.edu

>See pixie(1).  It fixes up your binary with basic block counters.

>Ther other profiler is profil(2).  It samples your PC at 10 millisecond
>intervals, but you have to put the call to profil explicitly in your
>program to enable the PC sampling.

You can get automatic pc-sampling of your code by compiling with 
-p ( see man page on prof(1), subject heading "Using pc-sampling" ).
This gives you a routine by routine ( not a basic block count ) pc-sampled
profile without having to insert any profil(2) calls.

- Micah Altman
"Computational Juggler"