Sha256: affbec8e2bd93ea9484ec8abd75cafa4e37c78767fb20f9f3a1805fc4ee5b17c
Contents?: true
Size: 757 Bytes
Versions: 3
Compression:
Stored size: 757 Bytes
Contents
#include <time.h> #include <stdio.h> #include <unistd.h> #include <sys/time.h> #include <sys/types.h> #include <sys/sysctl.h> static double cpufrequency = 0; static void init(void) { FILE *f; f = popen("hinv -c processor | awk '{if ($3==\"MHZ\") print $2*1000000}'","r"); if (!f) return; if (fscanf(f,"%lf",&cpufrequency) < 1) cpufrequency = 0; pclose(f); if (!cpufrequency) return; } long long cpucycles_sgi(void) { double result; struct timespec t; if (!cpufrequency) init(); clock_gettime(CLOCK_SGI_CYCLE,&t); result = t.tv_nsec; result *= 0.000000001; result += (double) t.tv_sec; result *= cpufrequency; return result; } long long cpucycles_sgi_persecond(void) { if (!cpufrequency) init(); return cpufrequency; }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ruby_nacl-0.1.2 | ext/ruby_nacl/NaCl/cpucycles/sgi.c |
ruby_nacl-0.1.1 | ext/ruby_nacl/NaCl/cpucycles/sgi.c |
ruby_nacl-0.1.0 | ext/ruby_nacl/NaCl/cpucycles/sgi.c |