Gravar para / dev / null incorre em um custo diferente de zero, mas se afetar o desempenho do sistema, o autor do software fez algo muito errado. Chamar sys_write () é altamente otimizado. Escrever os dados que você envia para ele percorre várias bibliotecas e sistemas de kernel até atingir o driver nulo. Esse caminho é altamente eficiente.
Sim, um programa provavelmente deve ter um sinalizador que desabilita a saída, mas se isso não ocorrer e gravar em / dev / null for um problema de desempenho, você terá um sistema estranho.
Lembre-se de que "a otimização prematura é a raiz de todo o mal". Editar o código para corrigir isso é um desperdício de tempo, a menos que você possa primeiro escrever um benchmark que mostre que esse é realmente o maior gargalo de desempenho.
Nota histórica:
As versões originais do Linux tiveram um muito lento / dev / null. Ele fez muito processamento apenas para descartar os dados no final. Havia um benchmark embaraçoso (não consigo encontrar um link, desculpe!), Mostrando que o / dev / null do Linux era muito mais lento que o FreeBSD e o Solaris (os populares sistemas similares ao Unix naquela época). O próximo lançamento do Linux teve um muito mais rápido / dev / null. Da mesma forma, o NIC de loopback no Linux costumava ser muito lento porque processava completamente o pacote, verificando erros de CRC (que possivelmente não poderiam estar errados) e fazendo outros trabalhos desnecessários. Alguns benchmarks embaraçosamente ruins foram publicados e logo as coisas foram corrigidas.