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

Re: question on timing results



Hi,

Thanks a lot for your clear and erudite explanations. I guess utime it is for
me....

Best wishes!

--- Matthew Saltzman <mjs ces clemson edu> wrote:

> On Thu, 16 Jun 2005, Globe Trotter wrote:
> 
> > Hi,
> >
> > Here is an example cooked up just to show how it works. Only done with
> utime
> > and stime, but can be extended to the other two in exactly the same way.
> But I
> > wonder, which should be used? As per the manpage for times(2), the function
> > reports the value of four times in four fields. 1)  The tms_utime field
> > contains the CPU time spent executing  instructions of  the  calling 
> process.
> > 2) The  tms_stime field contains the CPU time spent in the system while
> > executing tasks on behalf of the calling process.  3) The  tms_cutime 
> field
> > contains  the  sum of the tms_utime and  tms_cutime  values  for  all
> > waited-for  terminated   children. 4) The tms_cstime  field contains the
> sum of
> > the tms_stime and tms_cstime values for all waited-for terminated children.
> >
> > My programs go into an algorithm and do lots of things. Which times shoudl
> I
> > use?  I don't understand all this much: I am considering using the
> tms_utime
> > field, but I don't know if I should use that or the sum of the first two or
> all
> > of them. Any suggestions: I guess I really don't know what all these
> > different times mean.
> 
> It depends what you want to do with the results.
> 
> Usually, the time you care about for mathematical algorithm comparisons is 
> the user time.  The system time is charged for the system parts of doing 
> i/o, paging, task switching, etc.  If you're benchmarking a database 
> transaction system, for example, you may care about both user and system 
> times.
> 
> For example, when you issue an i/o call in your program, that call invokes 
> a system service that actaully copies the bytes between the device and the 
> buffer in memory where you get or put the data.  That system service's CPU 
> time is charged to tms_stime.  If you type on the keyboard in another 
> teriminal while your job is running, your job is suspended, the keyboard 
> input handler is invoked, and the job in the other terminal gets a chance 
> to handle the event.  Eventually, your job gets its turn again, and the 
> sytem has to set it up and resume it.  The time the system spends stopping 
> and resuming your job is charged to tms_stime.
> 
> If your code doesn't spawn child processes (if you aren't sure, then it's 
> a pretty safe bet it doesn't), then tms_cutime and tms_cstime will be zero 
> anyway.
> 
> >
> > Many thanks and best wishes!
> >
> >
> >
> > __________________________________
> > Discover Yahoo!
> > Use Yahoo! to plan a weekend, have fun online and more. Check it out!
> > http://discover.yahoo.com/
> 
> -- 
>  		Matthew Saltzman
> 
> Clemson University Math Sciences
> mjs AT clemson DOT edu
> http://www.math.clemson.edu/~mjs
> 
> -- 
> fedora-list mailing list
> fedora-list redhat com
> To unsubscribe: http://www.redhat.com/mailman/listinfo/fedora-list
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


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