Não há garantia de que os timestamps são incrementais. A maneira normal de obter a hora do sistema é gettimeofday
que não oferece nenhuma garantia.
Na prática, gettimeofday
será monotônico, a menos que o administrador do sistema ou um erro de configuração faça com que o relógio do sistema seja alterado. gettimeofday
tem, na melhor das hipóteses, uma resolução de microssegundos. Isso não garante que o valor será atualizado se entre duas chamadas para gettimeofday
forem mais de 1µs separadas, mas quanto maior o intervalo entre as chamadas, maior a probabilidade de alteração do valor.
Alguns sistemas suportam um relógio monotônico, lidos chamando clock_gettime
com o ID do relógio %código%. O Python fornece acesso a esse tempo por meio de CLOCK_MONOTONIC
desde a versão 3.3. Este relógio é monótono entre as reinicializações e não há garantia de que as chamadas sucessivas retornam valores distintos, embora ambas as propriedades sejam altamente prováveis.
Se você quiser uma garantia absoluta de que algum campo é incremental, mantenha um contador em um campo separado.