Quão curto tempo o tempo (o programa Linux) pode medir?

2

Estou apenas imaginando quais são os limites de time . Eu tenho um programa que sempre leva exatamente 20 ms, então eu suponho que isso é o menor que pode medir, mas eu quero ver se há algum tipo de documentação disso.

    
por Brendan Long 15.04.2010 / 02:13

3 respostas

3

O intervalo de tempo mais curto que pode medir é 1 jiffy, que é o inverso da frequência especificada nas opções de compilação do kernel (CONFIG_HZ).

    
por 15.04.2010 / 02:19
3

Concordo com a resposta de Ignacio, mas acho que falta um ponto crítico. Embora um momento seja, teoricamente, a menor unidade que pode ser medida, algumas vezes curtos períodos de tempo são imprecisos porque o hardware subjacente não mede as mudanças no tempo com rapidez. Na minha experiência, qualquer coisa com menos de um milissegundo não pode ser comparada com precisão a outra coisa (embora esse número possa ser tão alto quanto 5 ou 10 milissegundos). Se você está tentando comparar uma operação ou programa específico, considere que ele seja executado muitas centenas ou milhares de vezes e, em seguida, divida o tempo total pelo número de iterações para encontrar um valor mais preciso.

    
por 15.04.2010 / 02:43
1

Tente isto:

gcc -o timetest -x c - <<< "int main() {}"; time ./timetest

No meu sistema (antigo e lento), execuções subseqüentes de:

time ./timetest

termine em apenas:

real    0m0.005s
user    0m0.004s
sys     0m0.000s
    
por 15.04.2010 / 04:20