Para encurtar a história, significa simplesmente que o seu programa não solicitou a realização de nenhuma tarefa privilegiada, portanto, a CPU não passou tempo no modo privilegiado (kernel).
Noções básicas primeiro
Primeiro, há várias coisas que você precisa entender para interpretar a saída de time
corretamente:
- qual comando
time
você está executando (porque há vários) - o significado de cada campo e o significado de cada um deles (leitura extra aqui )
- a diferença entre o kernel e o modo de usuário
Existem dois tipos time
command. Há shell embutido e há /usr/bin/time
. O shell interno é o que você está usando e o padrão é mostrar três linhas, real
, user
e sys
. O manual para time
também menciona essa mesma forma de saída:
E se você marcar a seção "FORMATANDO A SAÍDA", nós temos:
% bl0ck_qu0te% De todas essas informações, podemos ver que há dois modos nos quais a CPU pode ser executada - modo de usuário e modo kernel, e o comando time
exibe quanto tempo a CPU permanece em determinado modo para fazer o que seu programa / aplicativo solicitou CPU para fazer.
Entendendo o que é o relatório de tempo sys e o que significa valor 0
OK, então entendemos que a diferença é que há modo de usuário e modo kernel no qual o código pode ser executado. Nós já podemos imaginar que isso basicamente significa que o programa não usou o modo kernel para executar algumas tarefas. O que isso realmente significa?
Consulte a esta postagem :
% bl0ck_qu0te%E de outra resposta no mesmo post:
% bl0ck_qu0te%Então é isso que sua saída significa - não houve mudança para o modo kernel e a CPU não recebeu nenhuma interrupção do programa para fazer isso. Isso também significa que seu código não possui nada que exija privilégios elevados da CPU
Nota : isto provavelmente deve ser reformulado como "não houve mudança longa / perceptível no modo kernel", já que alocar memória com algo como malloc()
function em C exigiria a mudança para o modo kernel, mas esses são switches microscópicos, que nós realmente precisamos investigar com um depurador ou com o comando strace
.