Se eu fizer:
sleep 1
contra
sleep 1 & wait $!
haverá alguma diferença em termos de uso da CPU para gerar um processo em primeiro plano versus um processo em segundo plano? Ou o desempenho de ambas as linhas será exatamente igual?
Se eu fizer:
sleep 1
contra
sleep 1 & wait $!
haverá alguma diferença em termos de uso da CPU para gerar um processo em primeiro plano versus um processo em segundo plano? Ou o desempenho de ambas as linhas será exatamente igual?
Com ambos os comandos, o shell irá 1/ criar um subprocesso paralelo que executa o modo de suspensão, 2/dizer ao sistema operacional... colocar o processo do shell em pausa até que o processo de suspensão termine. Então os desempenhos são iguais.
Sim.
No meu sistema, o primeiro leva 3,0 ms e o segundo leva 3,3 ms de tempo de CPU.
Na prática, eu nunca me preocuparia com o tempo de CPU de 0,3 ms se você estivesse dormindo um segundo inteiro.
Os 0,3 ms provavelmente são causados pelo extra
fork
que é necessário para colocarsleep
em segundo plano. Em outras palavras: é um custo único, não um custo extra de 10% para executar tarefas em segundo plano.