Usando o GNU Parallel, é assim:
parallel pngquant --my-options ::: *.png
ou:
ls | grep \.png | parallel pngquant --my-options
O padrão é um trabalho por núcleo da CPU. No seu caso, você pode querer executar mais um trabalho do que os núcleos:
ls | grep \.png | parallel -j+1 pngquant --my-options
Isso ocorre porque pngquant
usa o tempo para ler e gravar dados. Durante este tempo, ele aguarda o disco e dificilmente usa qualquer CPU, e assim você pode estar tendo algum tempo de CPU inativo. A única maneira de saber com certeza é medir e ver qual é o mais rápido.
O GNU Parallel é um paralelizador geral e facilita a execução de trabalhos em paralelo na mesma máquina ou em várias máquinas para as quais você tem acesso ssh.
Se você tem 32 tarefas diferentes que você quer rodar em 4 CPUs, uma forma direta de paralelizar é rodar 8 tarefas em cada processador:
O
GNUParallelgeraumnovoprocessoquandoumtermina-mantendoasCPUsativaseeconomizandotempo:
Instalação
Por razões de segurança, você deve instalar o GNU Parallel com seu gerenciador de pacotes, mas se o GNU Parallel não estiver empacotado para sua distribuição, você pode fazer uma instalação pessoal, que não requer acesso root. Isso pode ser feito em 10 segundos ao fazer isso:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
Para outras opções de instalação, consulte o link
Saiba mais
Veja mais exemplos: link
Assista aos vídeos de introdução: link
Percorra o tutorial: link
Inscreva-se na lista de e-mail para obter suporte: link