Hi, Thanks a lot for your clear and erudite explanations. I guess utime it is for me.... Best wishes! --- Matthew Saltzman <mjs@xxxxxxxxxxxxxxx> 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@xxxxxxxxxx > 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