Optimizations and profiling (fix draw line numbers, coroutines)

This commit is contained in:
krzosa
2025-12-23 13:18:41 +01:00
parent 74ae806978
commit 28308f58b2
7 changed files with 72 additions and 33 deletions

View File

@@ -193,6 +193,13 @@ API String GetExeDir(Allocator al) {
return result;
}
API uint64_t GetTimeNanos(void) {
struct timespec spec;
clock_gettime(CLOCK_MONOTONIC, &spec);
uint64_t ts = ((uint64_t)spec.tv_sec * 1000000000ull) + (uint64_t)spec.tv_nsec;
return ts;
}
API double GetTimeMicros(void) {
struct timespec spec;
clock_gettime(CLOCK_MONOTONIC, &spec);
@@ -565,6 +572,19 @@ API FileIter IterateFiles(Allocator alo, String path) {
return it;
}
API uint64_t GetTimeNanos(void) {
static double invfreq;
if (!invfreq) {
LARGE_INTEGER frequency;
QueryPerformanceFrequency(&frequency);
invfreq = 1000000000.0 / frequency.QuadPart;
}
LARGE_INTEGER counter;
QueryPerformanceCounter(&counter);
uint64_t ts = (uint64_t)((double)counter.QuadPart * invfreq);
return ts;
}
API double GetTimeMicros(void) {
static double invfreq;
if (!invfreq) {
@@ -1047,6 +1067,13 @@ API String GetExeDir(Allocator al) {
return result;
}
API uint64_t GetTimeNanos(void) {
struct timespec spec;
clock_gettime(CLOCK_MONOTONIC, &spec);
uint64_t ts = ((uint64_t)spec.tv_sec * 1000000000ull) + (uint64_t)spec.tv_nsec;
return ts;
}
API double GetTimeMicros(void) {
struct timespec spec;
clock_gettime(CLOCK_MONOTONIC, &spec);