Medición del tiempo transcurrido en python

¿Hay una forma / módulo simple paracorrectament medir el tiempo transcurrido en python? Sé que simplemente puedo llamar atime.time() dos veces y tome la diferencia, pero eso arrojará resultados incorrectos si se cambia la hora del sistema. De acuerdo, eso no sucede muy a menudo, pero sí indica que estoy midiendo lo incorrecto.

Utilizandotime.time() para medir duraciones es increíblemente indirecto cuando lo piensas. Usted toma la diferencia de dos mediciones de tiempo absoluto que a su vez se construyen a partir de mediciones de duración (realizadas por temporizadores) y tiempos absolutos conocidos (configurados manualmente o a través de ntp), que no le interesan en absoluto.

Entonces, ¿hay alguna manera de consultar este "tiempo de temporizador" directamente? Me imagino que se puede representar como un valor de milisegundos o microsegundos que no tiene una representación absoluta significativa (y, por lo tanto, no necesita ajustarse con la hora del sistema). Mirando un poco alrededor, parece que esto es exactamente lo queSystem.nanoTime() lo hace en Java, pero no encontré una función de Python correspondiente, aunque debería (técnicamente por hardware) ser más fácil de proporcionar quetime.time().

Editar: para evitar confusiones y abordar las respuestas a continuación: No se trata de cambios de horario de verano, y tampoco quiero tiempo de CPU, quiero tiempo físico transcurrido. No necesita ser muy fino, ni siquiera particularmente preciso. Simplemente no debería darme duraciones negativas, o duraciones que están apagadas en varios órdenes de magnitud (por encima de la granularidad), solo porque alguien decidió configurar el reloj del sistema a un valor diferente. Esto es lo que dicen los documentos de Python sobre 'time.time ()':

"Si bien esta función normalmente devuelve valores no decrecientes, puede devolver un valor más bajo que una llamada anterior si el reloj del sistema se ha retrasado entre las dos llamadas"

Esto es exactamente lo que quiero evitar, ya que puede conducir a cosas extrañas como valores negativos en los cálculos de tiempo. Puedo solucionar esto en este momento, pero creo que es una buena idea aprender a usar las soluciones adecuadas cuando sea posible, ya que los errores volverán a morderte algún día.

Edit2: Algunas investigaciones muestran que puede obtener una medición independiente del tiempo del sistema como quiero en Windows utilizando GetTickCount64 (), en Linux puede obtenerlo en el valor de retorno de veces (). Sin embargo, todavía no puedo encontrar un módulo que proporcione esta funcionalidad en Python.

Respuestas a la pregunta(6)

Su respuesta a la pregunta