|
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-2025 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.