Jim,
I never tried profiling before, so I ran into some problem here:
$ gcc -pg -o tstloop tstloop.c
$ tstloop
128205.13 semop/s [0,0]
$ gprof tstloop
gprof: gmon.out file is missing call-graph data
That's strange. Any chance you're running a different program that's elsewhere in the path? Try for instance running "./tstloop".
Also, for gprof, use the -l option (small L). I get:
Line 21 is the semctl() function. Line 18 is the semget() call.
Now that we have concrete results, I'd cross-post this on the Linuxquestions.org com site.
The next step would be to use the debug/profiling version of libc (which I don't have floating around) and see if we can use gprof to find the bottleneck therein. Or, look at the source. It would seem to be of great benefit to have this improved.
Hello,
I have a Supermicro server with a P4SCI mother board running Debian Sarge 3.1. This is the "dmidecode" output related to RAM info:
RAM speed information is incomplete.. "Current Speed: Unknown", is there anyway/soft to get the speed of installed RAM modules? thanks!!
Regards :)... (0 Replies)
Hi,
I am looking to use a semaphore for the first time in one of my scripts. I am just wondering if there are any simple examples or tutorials around?
I am a beginner so the simpler the better :)
Thanks
-Jaken (2 Replies)
I analysed disk performance with blktrace and get some data:
read:
8,3 4 2141 2.882115217 3342 Q R 195732187 + 32
8,3 4 2142 2.882116411 3342 G R 195732187 + 32
8,3 4 2144 2.882117647 3342 I R 195732187 + 32
8,3 4 2145 ... (1 Reply)
Control two exclusively shared resources(semaphore). The two resources are two files. The producer will write even numbers to one file, and odd numbers to another one. The consumer respectively reads from each file until it gets 5 even numbers and 5 odd numbers.
Can any one help me with the... (0 Replies)
If I create a semaphore and then I fork a number of child processes then all the child process use that same semaphore.
Since the process address spaces are different rfom each other then how all the child process are able to access the same semaphore?
I understand that semaphore/mutex is at os... (0 Replies)
I was asked to add this piece of code to a c program which I will execute through the shell:
for(long i = 0; i < NITER; i++)
{ sem_wait( &sema);
count++;
sem_post( &sema); }
I didn't get it, which is the critical section ? if it's "count++" how would a thread wake up in order to enter it... (1 Reply)
Discussion started by: uniran
1 Replies
LEARN ABOUT OSX
moncontrol
MONCONTROL(3) BSD Library Functions Manual MONCONTROL(3)NAME
moncontrol, monstartup -- control execution profile
SYNOPSIS
moncontrol(int mode);
monstartup(u_long *lowpc, u_long *highpc);
DESCRIPTION
An executable program compiled using the -pg option to cc(1) automatically includes calls to collect statistics for the gprof(1) call-graph
execution profiler. In typical operation, profiling begins at program startup and ends when the program calls exit. When the program exits,
the profiling data are written to the file gmon.out, then gprof(1) can be used to examine the results.
moncontrol() selectively controls profiling within a program. When the program starts, profiling begins. To stop the collection of his-
togram ticks and call counts use moncontrol(0); to resume the collection of histogram ticks and call counts use moncontrol(1). This feature
allows the cost of particular operations to be measured. Note that an output file will be produced on program exit regardless of the state
of moncontrol().
Programs that are not loaded with -pg may selectively collect profiling statistics by calling monstartup() with the range of addresses to be
profiled. lowpc and highpc specify the address range that is to be sampled; the lowest address sampled is that of lowpc and the highest is
just below highpc. Only functions in that range that have been compiled with the -pg option to cc(1) will appear in the call graph part of
the output; however, all functions in that address range will have their execution time measured. Profiling begins on return from
monstartup().
FILES
gmon.out execution data file
SEE ALSO cc(1), gprof(1), profil(2)4th Berkeley Distribution June 4, 1993 4th Berkeley Distribution