É possível alterar a tty para melhorar a velocidade de compilação?

3

Quando faço grandes compilações (em qualquer lugar, mas a minha questão pressupõe o Linux), muitas mensagens são enviadas para a tela. Minha pergunta é: essas mensagens retardam o processo? E se o fizerem, mudar para um tty diferente para que não seja exibido na tela reduz o impacto no desempenho?

    
por Michael Lowman 21.05.2011 / 18:01

2 respostas

4

Sim, eles certamente podem.

De link

Corra sim em um xterm, e você verá muitas linhas "y" passando pelos seus olhos. Naturalmente, o processo yes é capaz de gerar linhas "y" muito mais rápido do que o aplicativo xterm é capaz de analisá-las, atualizar seu buffer de quadros, comunicar-se com o servidor X para rolar a janela e assim por diante. Como é possível que esses programas cooperem?

A resposta está no bloqueio de E / S. O pseudo-terminal só pode manter uma certa quantidade de dados dentro de seu buffer de kernel, e quando esse buffer está cheio e sim tenta chamar write (2), então write (2) irá bloquear, movendo o processo yes para o estado sleep ininterrupto onde permanece até que o processo xterm tenha tido a chance de ler alguns dos bytes armazenados em buffer.

O mesmo acontece se o TTY estiver conectado a uma porta serial. sim seria capaz de transmitir dados a uma taxa muito maior do que, digamos, 9600 bauds, mas se a porta serial estiver limitada a essa velocidade, o buffer do kernel logo se enche e quaisquer chamadas subsequentes de write (2) bloqueiam o processo (ou falha com o código de erro EAGAIN se o processo solicitou E / S sem bloqueio.

    
por 21.05.2011 / 19:12
2

A maneira de acelerar sua compilação se você tem medo disso é:

make >&/tmp/log.out & tail -f log.out
    
por 21.05.2011 / 22:40