|
I suspect you are looking at some old documentation as several releases ago the MI timestamp was enhanced with 8 microsecond granularity. As for converting to more readable formats, the Convert Date and Time API (QWCCVTDT) can handle that with an input format of *DTS. Bruce Vining "Jevgeni Astanovski" <Jevgeni.Astanovs To ki@xxxxxxxx> <c400-l@xxxxxxxxxxxx> Sent by: cc c400-l-bounces+bv ining=us.ibm.com@ Subject midrange.com [C400-L] How to calculate process duration? 04/18/2005 07:39 AM Please respond to C programming iSeries / AS400 My problem is how to get duration of a certain part of the program. It is my program and I'll put timestamping into it myself. So idea is: ..... time(&Time1) ; processing... processing... processing... time(&Time2) ; Duration = GetTimeDifference(Time1, Time2) ; But I know, that the processing takes surely less than a second, so time() function, returning seconds is not OK. Looked at mattod(). It is said, that it's tick is 1/1000 sec. Fine. But isn't there somewhere a way to convert _MI_Time to something usable? Or if not, can anyone tell me, what are the arithmetical rules for _MI_Time - I need to subtract one from another? I did some bit fiddling and finally got a piece, that seems to work, but it is really ugly: mattod(Time1) ; mitime(&WaitTime, 0, 0, 0, 50) ; /*hours,minutes,seconds,1/100*/ waittime(&WaitTime, _WAIT_NORMAL) ; mattod(Time2) ; memcpy(Buf, &Time1, 8) ; memcpy(&Tim11, Buf, 4) ; memcpy(&TimShift, &Buf[4], 4) ; Tim12 = TimShift >> 22 ; memcpy(Buf, &Time2, 8) ; memcpy(&Tim21, Buf, 4) ; memcpy(&TimShift, &Buf[4], 4) ; Tim22 = TimShift >> 22 ; Diff = (Tim21 - Tim11) * 1000 + Tim22 - Tim12 ; printf("Diff : %d ms\n", Diff) ; The idea of mitime and waittime is simply to compare printed result to 500ms delay. Isn't it ugly? Is it the only way? TIA, Jevgeni Astanovski _______________________________________________ This is the C programming iSeries / AS400 (C400-L) mailing list To post a message email: C400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/c400-l or email: C400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/c400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.