69 #if defined(_WIN32) && !defined(__SYMBIAN32__)
74 #elif defined(HAVE_UNISTD_H)
76 # include <sys/time.h>
77 # include <sys/resource.h>
81 #pragma warning (disable: 4996)
90 DWORD unlink(
const char *filename)
96 len = mbstowcs(NULL, filename, 0);
97 wfilename =
ckd_calloc(len+1,
sizeof(*wfilename));
98 mbstowcs(wfilename, filename, len);
99 rv = DeleteFileW(wfilename);
136 fprintf(fp,
"[%d %s]", ctr->
count, ctr->
name);
150 #if defined(_WIN32) && !defined(GNUWINCE) && !defined(__SYMBIAN32__)
152 #define TM_LOWSCALE 1e-7
153 #define TM_HIGHSCALE (4294967296.0 * TM_LOWSCALE);
156 make_sec(FILETIME * tm)
160 dt = tm->dwLowDateTime * TM_LOWSCALE;
161 dt += tm->dwHighDateTime * TM_HIGHSCALE;
169 make_sec(
struct timeval *s)
171 return (s->tv_sec + s->tv_usec * 0.000001);
180 #if (! defined(_WIN32)) || defined(GNUWINCE) || defined(__SYMBIAN32__)
181 struct timeval e_start;
183 #if (! defined(_HPUX_SOURCE)) && (! defined(__SYMBIAN32__))
187 getrusage(RUSAGE_SELF, &start);
188 tm->
start_cpu = make_sec(&start.ru_utime) + make_sec(&start.ru_stime);
191 gettimeofday(&e_start, 0);
193 #elif defined(_WIN32_WCE)
199 FILETIME t_create, t_exit, kst, ust;
202 pid = GetCurrentProcess();
203 GetProcessTimes(pid, &t_create, &t_exit, &kst, &ust);
204 tm->
start_cpu = make_sec(&ust) + make_sec(&kst);
214 float64 dt_cpu, dt_elapsed;
216 #if (! defined(_WIN32)) || defined(GNUWINCE) || defined(__SYMBIAN32__)
217 struct timeval e_stop;
219 #if (! defined(_HPUX_SOURCE)) && (! defined(__SYMBIAN32__))
223 getrusage(RUSAGE_SELF, &stop);
225 make_sec(&stop.ru_utime) + make_sec(&stop.ru_stime) -
231 gettimeofday(&e_stop, 0);
233 #elif defined(_WIN32_WCE)
235 dt_cpu = GetTickCount() / 1000 - tm->
start_cpu;
239 FILETIME t_create, t_exit, kst, ust;
242 pid = GetCurrentProcess();
243 GetProcessTimes(pid, &t_create, &t_exit, &kst, &ust);
244 dt_cpu = make_sec(&ust) + make_sec(&kst) - tm->
start_cpu;
245 dt_elapsed = ((float64) clock() / CLOCKS_PER_SEC) - tm->
start_elapsed;
277 for (; tm->
name; tm++)
287 for (; tm->
name; tm++)
288 fprintf(fp,
" %6.2fx %s", tm->
t_cpu * norm, tm->
name);
297 int32 BYTE_ORDER_MAGIC;
302 file =
"/tmp/__EnDiAn_TeSt__";
304 if ((fp = fopen(file,
"wb")) == NULL) {
305 E_ERROR(
"Failed to open file '%s' for writing", file);
309 BYTE_ORDER_MAGIC = (int32) 0x11223344;
311 k = (int32) BYTE_ORDER_MAGIC;
312 if (fwrite(&k,
sizeof(int32), 1, fp) != 1) {
313 E_ERROR(
"Failed to write to file '%s'\n", file);
320 if ((fp = fopen(file,
"rb")) == NULL) {
325 if (fread(buf, 1,
sizeof(int32), fp) !=
sizeof(int32)) {
326 E_ERROR(
"Failed to read from file '%s'\n", file);
335 endian = (buf[0] == (BYTE_ORDER_MAGIC & 0x000000ff)) ? 1 : 0;