Discovered more microsoft timer trickery #61
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
security
wontfix
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: AuroraSupport/AuroraRuntime#61
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
They crippled another ucrt api under older operating systems, this time its the steady time api. its nowhere near acceptable. its like, 3-4 orders of magnitude slower. i wont even wait for the test to finish. its just getting stuck.
casue: RDSC path isnt being followed
Raymond Chen's profile photo
Raymond Chen
Jun 16, 2000, 8:00:00 AM
to
The reason why QPC doesn't always use RDTSC is twofold.
execute RDTSC on both processors simultaneously, they return the
same answer back. Otherwise, an app that gets migrated between
processors is going to see time go backwards.
If a HAL cannot guarantee this behavior, it cannot use RDTSC for
QPC.
power management, the new intel speedstep stuff, etc.), you
cannot use RDTSC because it counts cycles, not time. When the
CPU changes speed, the cycles per second changes, which
invalidates the result of QueryPerformanceFrequency.
So if a system supports dynamic CPU speeds, it cannot use RDTSC
for QPC.
(My return address is intentionally invalid to foil spammers. Delete the
".---" to get my real address. I do this on my own time with my own money;
my responses are not to be considered official technical support or advice.
Personal requests for assistance will be ignored.)
https://chromium.googlesource.com/chromium/chromium/+/refs/heads/main/base/time_win.cc more details
gonna experiment with different hypervisor clocks
semi-fix merged with w7vmm. its no longer stalling for a stupid amount of time, but steady clock is still 8x slower
alternative fix is marginally slower
wont fix in runtime; windows kernel hal compatibility defect in hypervisor stack
Discovered more microcuckryto Discovered more microsoft trickeryDiscovered more microsoft trickeryto Discovered more microsoft timer trickeryTest: 20. Hello Time
Microsoft NT
When comparing steady clock to wall clock is:
8x slower: (~7s vs ~700ms) - you are running an older operating system with a HAL that does not trust your chipset;
434x slower: (05:04 vs ~700ms) - you are running on broken hardware or a system configuration;
Abs: ~3seconds - you are running a modern system under modern windows;
Abs: ~6 seconds - you are running under old windows with aurora runtime, or modern windows using dumb-cunt code microsoft devs knowingly refuse to improve upon
Noting regular desktops and modern virtual machines will be much much faster, most likely beating wall clock or residing in the same ballpark. Also noting, 6 something seconds is still possible if you're braindead enough to use and trust Microsoft code. Namely, the STL and its' high-res clock. 3s is a 2x improvement over the stock STL clocks. I don't have the exact perf characteristics of wall clock under win11 at hand.