Use OS API on windows/a timed loop on other non-apple platforms to determine core frequencies for the cores associated with each thread, scale Task times to the specific core's frequency. The time has to be stored scaled to some baseline. It's probably fine to scale to the fastest core because max frequencies are unlikely to change (except with Turbo Boost and similar perhaps?). Detecting max frequency changes on non-windows might not be feasible because running the check takes some time to ensure the core spins up, but otherwise would require scaling to some static baseline. Profiling outputs might need to show task times as low, high, and average.
Use OS API on windows/a timed loop on other non-apple platforms to determine core frequencies for the cores associated with each thread, scale
Tasktimes to the specific core's frequency. The time has to be stored scaled to some baseline. It's probably fine to scale to the fastest core because max frequencies are unlikely to change (except with Turbo Boost and similar perhaps?). Detecting max frequency changes on non-windows might not be feasible because running the check takes some time to ensure the core spins up, but otherwise would require scaling to some static baseline. Profiling outputs might need to show task times aslow,high, andaverage.