Re: using the correct tool to time my program

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mark Farnell wrote:

> I have a parallel program, which calls some message passing functions
> which block.  Then I attempted to use times() (with struct tms) to
> time the program.
> 
> the struct tms gives me the "program time" and the "system time" as
> well as the child process time (if any).  However does it also include
> the time spent when my program is blocked (i.e. network time).

No. times() measures CPU usage; any time spent idle isn't measured. 
Ditto for getrusage().

> This is important because although I use gprof to separate the CPU
> time spent by my program vs libraries, when I calculate the total time
> spent, I really need to include the time spent waiting for message
> from network (network time).
> 
> Therefore is times() really appropriate for my purpose?  If not, what
> other functions can I use instead? (such as gettimeofday?)

If you need to measure real time (aka "wall-clock time"), use
gettimeofday() or clock_gettime().

-- 
Glynn Clements <glynn@xxxxxxxxxxxxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Assembler]     [Git]     [Kernel List]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [C Programming]     [Yosemite Campsites]     [Yosemite News]     [GCC Help]

  Powered by Linux