Tempo real vs. tempo de processo

0

Ao usar o comando time para medir o tempo de diferentes execuções de um processo (sob diferentes circunstâncias de hardware), me deparei com um fenômeno que não entendo.

O real time da 1ª execução foi 77 minutes e 82 minutes para a 2ª execução. No entanto, o user time foi 6 minutos mais rápido na 2ª execução e, da mesma forma, para o sys time , a 2ª execução foi 1 minuto mais rápida.

Como o tempo real ainda pode ser melhor para a 1ª execução?
E ao comparar os tempos de execução, qual das 3 vezes é um bom indicador para o tempo de execução geral de um processo? (Tenho processos que imprimem muitas informações e processos que não imprimem nada, se isso faz alguma diferença)

    
por Aerus 20.12.2012 / 17:52

1 resposta

1

Se bem me lembro:

  • real time representa a hora do relógio: é a quantidade de tempo que o processo leva para correr. Esse tempo depende do número de processos sendo executados em o sistema, então isso pode explicar por que o tempo real é melhor na primeira execução.
  • user time representa a quantidade de tempo de CPU atribuído às instruções do usuário. (modo de usuário, fora do kernel)
  • sys time é a quantidade de tempo que a CPU gasta no kernel dentro do processo em execução. Por exemplo, sempre que você usar os métodos read ou write , o tempo gasto no kernel executando este 'serviço' será cobrado neste momento.

Portanto, ao comparar os tempos gerais de execução, você pode usar user time + sys time .

Espero que isso ajude.

    
por Milan Todorovic 20.12.2012 / 18:09