Você pode estar esquecendo o fato de que no UNIX / Linux um processo só pode fazer apenas uma operação de E / S de BLOCKING por vez. Não há operações simultâneas de leitura ou gravação contidas nas funções tar ou compress. Também não há processamento de dados em nenhum desses dois processos durante suas chamadas de E / S.
Existem filtros de buffer que tentam diminuir esse efeito usando memória compartilhada e dois processos: um para ler e outro para escrever.
Nesse modelo, você precisará reanalisar suas opções para determinar o gargalo e a ordem operacional do sistema real.