void __cdecl _ftime ( struct _timeb *tp ) { struct tm tb; DateTimeRec dt; _tzset(); tp->timezone = (short)(_timezone / 60); GetTime(&dt); /*set milliseconds*/ tp->millitm = (unsigned short)( ((LMGetTicks() % 60) * 50) / 3); tb.tm_year = dt.year - 1900; tb.tm_mday = dt.day; tb.tm_mon = dt.month - 1; //[1-12]=>[0-11] tb.tm_hour = dt.hour; tb.tm_min = dt.minute; tb.tm_sec = dt.second; tb.tm_wday = dt.dayOfWeek - 1; //[1-7]=>[0-6] tb.tm_isdst = -1; /* * Call mktime() to compute time_t value and Daylight Savings Time * flag. */ tp->time = mktime(&tb); tp->dstflag = (short)(tb.tm_isdst); }
ulong pgp_getticks() { // Returns less accurate milliseconds since system startup #ifdef PGP_MACINTOSH return LMGetTicks() * 50 / 3; #elif PGP_WIN32 return GetTickCount(); #endif }
Uint32 SDL_GetTicks(void) { #ifdef USE_MICROSECONDS UnsignedWide now; Microseconds(&now); return (Uint32)((WideTo64bit(now)-start)/1000); #else return(LMGetTicks()*MS_PER_TICK); #endif }
void BenchCli(char ch1, char ch2, const char * cmd) { char * at; int requestSize; int responseSize; int packetSize; int contribSize; int count; int i; long startTime; long transTime; Sampler readSamp; Sampler writeSamp; Sampler sizeSamp; if (sock == -1) { printf("# socket is not open\n"); Where(); return; } if (sscanf(cmd, "%d %d %d", &requestSize, &responseSize, &count) != 3) { Usage(ch1, ch2); return; } InitSampler(&readSamp); InitSampler(&writeSamp); InitSampler(&sizeSamp); write(sock, cmd, strlen(cmd)); read(sock, BenchBuf, 1); startTime = LMGetTicks(); for (i=0; i++<count; ) { transTime = LMGetTicks(); write(sock, BenchBuf, requestSize); Sample(&writeSamp, LMGetTicks()-transTime); packetSize = 0; transTime = LMGetTicks(); do { contribSize = read(sock, BenchBuf, 8192); packetSize += contribSize; Sample(&sizeSamp, contribSize); } while (packetSize < responseSize); Sample(&readSamp, LMGetTicks()-transTime); } printf("# Test took %d ticks.\n", LMGetTicks() - startTime); printf("# Read min: %2d max: %2d avg: %2.1f\n", readSamp.min, readSamp.max, ((double)readSamp.sum) / readSamp.count); printf("# Size min: %2d max: %2d avg: %2.1f\n", sizeSamp.min, sizeSamp.max, ((double)sizeSamp.sum) / sizeSamp.count); printf("# Write min: %2d max: %2d avg: %2.1f\n", writeSamp.min, writeSamp.max, ((double)writeSamp.sum) / writeSamp.count); }