- timer->elapse.tv_nsec += timer->stop.tv_nsec - timer->start.tv_nsec;
-# if defined(WIN32_WCE) || (_WIN32_WINNT < 0x0400)
- THROW_UNIMPLEMENTED;
-# else
- HANDLE h = GetCurrentProcess();
- FILETIME creationTime, exitTime, kernelTime, userTime;
- GetProcessTimes(h, &creationTime, &exitTime, &kernelTime, &userTime);
- unsigned __int64 ktm, utm;
- ktm = (unsigned __int64) kernelTime.dwHighDateTime << 32;
- ktm |= kernelTime.dwLowDateTime;
- ktm /= 10;
- utm = (unsigned __int64) userTime.dwHighDateTime << 32;
- utm |= userTime.dwLowDateTime;
- utm /= 10;
- timer->start.tv_sec = (long) (ktm / 1000000L) + (long) (utm / 1000000L);
- timer->start.tv_usec = (long) (ktm % 1000000L) + (long) (utm % 1000000L);
-# endif /* windows version checker */
-
+ timer->elapse.tv_usec += timer->stop.tv_usec - timer->start.tv_usec;
+ gettimeofday(&(timer->start), NULL);
+#else
+# error The cpu timers of SimGrid do not seem to work on your platform.