mirror of https://github.com/x64dbg/zydis
Added timing code for macOS (PerfTest)
This commit is contained in:
parent
9f735b0f51
commit
26a971f624
|
@ -70,7 +70,25 @@ double GetCounter()
|
||||||
return (double)(li.QuadPart - CounterStart) / CounterFreq;
|
return (double)(li.QuadPart - CounterStart) / CounterFreq;
|
||||||
}
|
}
|
||||||
#elif defined(ZYDIS_APPLE)
|
#elif defined(ZYDIS_APPLE)
|
||||||
// TODO:
|
uint64_t counterStart = 0;
|
||||||
|
mach_timebase_info_data_t timebaseInfo;
|
||||||
|
|
||||||
|
void StartCounter()
|
||||||
|
{
|
||||||
|
counterStart = mach_absolute_time();
|
||||||
|
}
|
||||||
|
|
||||||
|
double GetCounter()
|
||||||
|
{
|
||||||
|
uint64_t elapsed = mach_absolute_time() - counterStart;
|
||||||
|
|
||||||
|
if (timebaseInfo.denom == 0)
|
||||||
|
{
|
||||||
|
mach_timebase_info(&timebaseInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (double)elapsed * timebaseInfo.numer / timebaseInfo.denom / 1000000;
|
||||||
|
}
|
||||||
#elif defined(ZYDIS_LINUX)
|
#elif defined(ZYDIS_LINUX)
|
||||||
// TODO:
|
// TODO:
|
||||||
#endif
|
#endif
|
||||||
|
@ -231,9 +249,9 @@ void generateTestData(FILE* file, uint8_t encoding)
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
if (argc < 3 || (!strcmp(argv[1], "-test") && !strcmp(argv[1], "-generate")))
|
if (argc < 3 || (strcmp(argv[1], "-test") && strcmp(argv[1], "-generate")))
|
||||||
{
|
{
|
||||||
fputs("Usage: PerfTest -[test|generate] [directory]", stderr);
|
fputs("Usage: PerfTest -[test|generate] [directory]\n", stderr);
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -307,8 +325,6 @@ int main(int argc, char** argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getchar();
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue