- En los sistemas modernos, los choques de marcas de tiempo de nanosegundos son comunes y ocurren en aproximadamente el 5% de las muestras cuando se lee el reloj simultáneamente desde 4 núcleos físicos.
- No es seguro asumir que una marca de tiempo cruda en nanosegundos sea un identificador único.
- Se usó un programa de prueba escrito en Go para comparar la diferencia relativa entre marcas de tiempo consecutivas y marcas de tiempo absolutas.
- El comportamiento de los choques de marcas de tiempo varía según el sistema, y se observaron resultados distintos en Mac OS X y Linux.
- En Linux, dentro de un solo hilo, el tiempo absoluto y el tiempo monotónico siempre aumentan, y el incremento mínimo es de 32 ns. Entre hilos, aproximadamente el 5% de los tiempos absolutos son iguales a los de otro hilo, y también se producen alrededor de un 2% de choques de marcas de tiempo al trabajar con 2 hilos en un sistema de 4 núcleos.
- En Mac OS X, como el tiempo absoluto tiene resolución de microsegundos, se producen muchos choques al repetir la misma prueba. Incluso dentro de un hilo, el reloj monotónico a veces puede no aumentar.
- Para una exploración adicional, el programa de prueba se puede encontrar en Github.
1 comentarios
Comentarios en Hacker News