Sha256: 0328d1476c0ed1f3ed1c2305068ddb15fa7647191e8667ef6ab967b44480e5c1
Contents?: true
Size: 1.11 KB
Versions: 3
Compression:
Stored size: 1.11 KB
Contents
#include <sys/types.h> #include <sys/sysctl.h> #include <mach/mach_time.h> #define timebase mach_absolute_time static int cpumib[2] = { CTL_HW, HW_CPU_FREQ } ; static int tbmib[2] = { CTL_HW, HW_TB_FREQ } ; static long myround(double u) { long result = u; while (result + 0.5 < u) result += 1; while (result - 0.5 > u) result -= 1; return result; } static long tbcycles = 0; static void init(void) { unsigned int cpufrequency = 0; size_t cpufrequencylen = sizeof(unsigned int); unsigned int tbfrequency = 0; size_t tbfrequencylen = sizeof(unsigned int); sysctl(cpumib,2,&cpufrequency,&cpufrequencylen,0,0); sysctl(tbmib,2,&tbfrequency,&tbfrequencylen,0,0); if (tbfrequency > 0) tbcycles = myround((double) (unsigned long long) cpufrequency / (double) (unsigned long long) tbfrequency); } long long cpucycles_powerpcmacos(void) { if (!tbcycles) init(); return timebase() * tbcycles; } long long cpucycles_powerpcmacos_persecond(void) { unsigned int result = 0; size_t resultlen = sizeof(unsigned int); sysctl(cpumib,2,&result,&resultlen,0,0); return (unsigned long long) result; }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ruby_nacl-0.1.2 | ext/ruby_nacl/NaCl/cpucycles/powerpcmacos.c |
ruby_nacl-0.1.1 | ext/ruby_nacl/NaCl/cpucycles/powerpcmacos.c |
ruby_nacl-0.1.0 | ext/ruby_nacl/NaCl/cpucycles/powerpcmacos.c |