¿Qué sucede cuando se llama a QueryPerformanceCounter?

Estoy estudiando las implicaciones exactas de usar QueryPerformanceCounter en nuestro sistema y estoy tratando de entender su impacto en la aplicación. Puedo ver, al ejecutarlo en mi máquina de cpu única de 4 núcleos, que se necesitan alrededor de 230 ns para ejecutarse. Cuando lo ejecuto en un 24-core 4 cpu xeon, toma alrededor de 1.4ms en ejecutarse. Más interesante en mi máquina cuando se ejecuta en varios subprocesos no se afectan entre sí. Pero en la máquina multi-cpu, los hilos causan algún tipo de interacción que hace que se bloqueen entre sí.Me pregunto si hay algún recurso compartido en el bus que todos consulten. ¿Qué sucede exactamente cuando llamo a QueryPerformanceCounter y qué mide realmente?

Respuestas a la pregunta(4)

Su respuesta a la pregunta