GNU Parallel: criando atividades em paralelo com shell script

No tutorial de hoje falarei sobre o GNU Parallel, uma ferramenta fantástica para quem utiliza Shell Script. O Parallel é um utilitário GNU que permite incluir alguma forma de paralelismo nos scripts, melhorando significativamente a performance em sistemas multinúcleo. Seu funcionamento é simples, e lembra um pouco o módulo Multiprocessing do Python.

[ Hits: 6.089 ]

Por: Bruno Rafael Santos em 05/01/2023 | Blog: https://cutt.ly/4H7vrPh


Conclusão



Estou adorando utilizar o Parallel, já adaptei todos os meus scripts para trabalhar com ele, utilizando o truque de exportar uma função. A paralelização realmente melhora a velocidade para algumas operações, mas no fim do dia o Parallel é uma gambiarra como é o Multiprocessing. Ele simplesmente chama o comando dado em um outro shell várias vezes de forma transparente e gerencia a lista de tarefas de forma eficiente. Mesmo assim, é uma mão na roda.

Só tomemos cuidado para paralelizar de forma inteligente, não adianta rodar em paralelo operações de disco, deixa o sistema lento. Para cálculos e processamento de arquivos (conversões de vídeo) é uma mão na roda. Fiquemos atentos também à memória RAM que geralmente morre antes do processador.

O que eu acho mais adorável aqui é o esforço do desenvolvedor em divulgar e educar sobre a utilidade. É uma mas melhores man pages que já li, e tem tanta coisa além que o cara merece os parabéns.

Referências


Página anterior    

Páginas do artigo
   1. Introdução
   2. Uso em scripts
   3. Conclusão
Outros artigos deste autor

Recuperação de arquivos do LibreOffice

getopts: criando scripts Bash com parâmetros e argumentos personalizáveis

Tutorial GIMP: Preparando mapas para artigos científicos

Python para pesquisadores: material didático

Cronogramas e gestão do tempo com o LibreOffice Calc

Leitura recomendada

Relatório de conexão Wi-Fi com dados de usuários conectados nos POPs

cal2svg - brincando com shell script e arquivos vetoriais SVG

pam_mount e CiD - Gerenciamento centralizado dos mapeamentos de unidades de rede no Ubuntu

Redundância de link de internet

Script GitPratico para criar repositórios remotos sem logar no GitHub

  
Comentários
[1] Comentário enviado por danniel-lara em 05/01/2023 - 21:32h


Muito bacana o Artigo
parabéns

[2] Comentário enviado por maurixnovatrento em 13/01/2023 - 12:28h


Muito bom artigo.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts