Mountain View, CA
|reply to Cartel |
The HPET will not necessarily guarantee higher accuracy/lower latency. It varies greatly across motherboard models and vendors; some HPETs are known to behave horribly wrong (latency all over the place) while classic ACPI timers or even things like classic TSC perform better on those platforms. Likewise, some folsk experience the exact opposite. The only timer that you should try to consistently avoid is the legacy i8254.
In other OSes, such as FreeBSD, there is a ranking/priority scheme given to each of the timer types, since a system often will offer multiple types of timecounters. Here's a below example:
$ sysctl kern.timecounter
kern.timecounter.choice: TSC(-1000) ACPI-fast(900) i8254(0) dummy(-1000000)
The line to pay attention to is
kern.timecounter.choice. Each timecounter available is listed, and the number in parenthesis indicates the priority calculated by FreeBSD (higher is better). You can see that the ACPI timers (either called "ACPI-fast" or "ACPI-slow", it sometimes varies -- don't let the name mislead you!) are preferred over classic TSC. However on some other systems, a timecounter called "TSC-low" is ranked with higher priority than ACPI. My above system does not have an HPET (it's a server-class board), but generally speaking HPET timers on FreeBSD are ranked slightly below ACPI. Google "FreeBSD HPET" sometime and look at the results -- you'll see the feedback varying ("HPET is slow!" followed by "HPET is sometimes 2x faster").
On the Windows side of things, consider advice like this coming from someone who in the same post says "HTEP" twice (I have a hard time believing someone who typos HPET twice actually understands what timecounters do/how they affect a system at a low level).
TL;DR -- sure, if HPET on your motherboard is more reliable/works better for you, use it. If you aren't sure if your system has one, don't want to take the risk of encountering a buggy/crappy timer, or in general don't want to bother, then do nothing -- there's a reason Windows defaults to not using HPET (I've alluded to why in my above paragraph).
Making life hard for others since 1977.
I speak for myself and not my employer/affiliates of my employer.