/* ======================================================================== (C) Copyright 2023 by Molly Rocket, Inc., All Rights Reserved. This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Please see https://computerenhance.com for more information ======================================================================== */ /* ======================================================================== LISTING 71 ======================================================================== */ #include #include typedef uint64_t u64; typedef double f64; #include "listing_0070_platform_metrics.cpp" int main(void) { u64 OSFreq = GetOSTimerFreq(); printf(" OS Freq: %llu\n", OSFreq); u64 OSStart = ReadOSTimer(); u64 OSEnd = 0; u64 OSElapsed = 0; while(OSElapsed < OSFreq) { OSEnd = ReadOSTimer(); OSElapsed = OSEnd - OSStart; } printf(" OS Timer: %llu -> %llu = %llu elapsed\n", OSStart, OSEnd, OSElapsed); printf(" OS Seconds: %.4f\n", (f64)OSElapsed/(f64)OSFreq); return 0; }