Support timing Apple M1
This commit is contained in:
parent
93843c55b6
commit
38dcf3454b
|
@ -74,6 +74,9 @@ static void *huge_malloc(BLASLONG size){
|
||||||
|
|
||||||
#if defined(__WIN32__) || defined(__WIN64__) || !defined(_POSIX_TIMERS)
|
#if defined(__WIN32__) || defined(__WIN64__) || !defined(_POSIX_TIMERS)
|
||||||
struct timeval start, stop;
|
struct timeval start, stop;
|
||||||
|
#elif defined(__APPLE__)
|
||||||
|
mach_timebase_info_data_t info;
|
||||||
|
uint64_t start = 0, stop = 0;
|
||||||
#else
|
#else
|
||||||
struct timespec start = { 0, 0 }, stop = { 0, 0 };
|
struct timespec start = { 0, 0 }, stop = { 0, 0 };
|
||||||
#endif
|
#endif
|
||||||
|
@ -82,6 +85,9 @@ double getsec()
|
||||||
{
|
{
|
||||||
#if defined(__WIN32__) || defined(__WIN64__) || !defined(_POSIX_TIMERS)
|
#if defined(__WIN32__) || defined(__WIN64__) || !defined(_POSIX_TIMERS)
|
||||||
return (double)(stop.tv_sec - start.tv_sec) + (double)((stop.tv_usec - start.tv_usec)) * 1.e-6;
|
return (double)(stop.tv_sec - start.tv_sec) + (double)((stop.tv_usec - start.tv_usec)) * 1.e-6;
|
||||||
|
#elif defined(__APPLE__)
|
||||||
|
mach_timebase_info(&info);
|
||||||
|
return (double)(((stop - start) * info.numer)/info.denom) * 1.e-9;
|
||||||
#else
|
#else
|
||||||
return (double)(stop.tv_sec - start.tv_sec) + (double)((stop.tv_nsec - start.tv_nsec)) * 1.e-9;
|
return (double)(stop.tv_sec - start.tv_sec) + (double)((stop.tv_nsec - start.tv_nsec)) * 1.e-9;
|
||||||
#endif
|
#endif
|
||||||
|
@ -90,6 +96,8 @@ double getsec()
|
||||||
void begin() {
|
void begin() {
|
||||||
#if defined(__WIN32__) || defined(__WIN64__) || !defined(_POSIX_TIMERS)
|
#if defined(__WIN32__) || defined(__WIN64__) || !defined(_POSIX_TIMERS)
|
||||||
gettimeofday( &start, (struct timezone *)0);
|
gettimeofday( &start, (struct timezone *)0);
|
||||||
|
#elif defined(__APPLE__)
|
||||||
|
start = clock_gettime_nsec_np(CLOCK_UPTIME_RAW);
|
||||||
#else
|
#else
|
||||||
clock_gettime(CLOCK_REALTIME, &start);
|
clock_gettime(CLOCK_REALTIME, &start);
|
||||||
#endif
|
#endif
|
||||||
|
@ -98,7 +106,9 @@ void begin() {
|
||||||
void end() {
|
void end() {
|
||||||
#if defined(__WIN32__) || defined(__WIN64__) || !defined(_POSIX_TIMERS)
|
#if defined(__WIN32__) || defined(__WIN64__) || !defined(_POSIX_TIMERS)
|
||||||
gettimeofday( &stop, (struct timezone *)0);
|
gettimeofday( &stop, (struct timezone *)0);
|
||||||
|
#elif defined(__APPLE__)
|
||||||
|
stop = clock_gettime_nsec_np(CLOCK_UPTIME_RAW);
|
||||||
#else
|
#else
|
||||||
clock_gettime(CLOCK_REALTIME, &stop);
|
clock_gettime(CLOCK_REALTIME, &stop);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue