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étodosread
ouwrite
, 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.