9 pontos por GN⁺ 2023-08-22 | 1 comentários | Compartilhar no WhatsApp
  • O GNU Parallel é útil para executar testes E2E em paralelo
  • O autor queria coletar estatísticas sobre a taxa de aprovação/reprovação de um conjunto de testes de longa duração para um serviço em produção acessado via HTTP
  • No início, o autor executava os testes usando loops aninhados em bash, mas como o tempo de execução de cada teste era longo, esse método era lento
  • Depois, passou a usar o GNU Parallel para executar os testes em paralelo, com grande melhora em desempenho e funcionalidades usando menos código
  • No GNU Parallel, você especifica que os comandos devem ser executados em paralelo, e os placeholders ({1}, {2} etc.) são substituídos pelos valores de entrada
  • As entradas para o comando são especificadas após o operador ::: e são fornecidas ao comando em todas as combinações possíveis
  • O GNU Parallel oferece opções para controlar a concorrência e evitar contenção de recursos, como limitar o número de tarefas simultâneas ou atrasar o início de cada tarefa
  • A ferramenta também oferece a capacidade de gerar um arquivo CSV com os resultados de conclusão das tarefas, incluindo duração, código de saída e stdout/stderr capturados
  • O autor recomenda o livro de Ole Tange, criador do GNU Parallel, para explorar mais a fundo recursos da ferramenta, como distribuir tarefas para outros hosts via SSH, monitorar o tempo de conclusão das tarefas, repetir tarefas com alta probabilidade de falha, retomar tarefas se a execução paralela for interrompida no meio e limitar a concorrência com base no uso de CPU

1 comentários

 
GN⁺ 2023-08-22
Comentários no Hacker News
  • Apontam a utilidade e as limitações do GNU Parallel, além de sugerirem alternativas como YSH, Nushell e Fish
  • Opinião de um usuário defendendo as limitações dos computadores atuais para aproveitar paralelismo, propondo mais núcleos e memória local endereçada por conteúdo
  • Vários usuários compartilham experiências positivas com o GNU Parallel em tarefas como geração de dados de teste, transferência de dados, muitos trabalhos em HPC e pipelines com dependências simples de dados
  • Usuários comparam GNU Parallel com outras ferramentas como xargs e task spooler, observando que ele é útil para certas tarefas, mas pode ser mais lento em termos de velocidade
  • Alguns usuários expressam preocupação com a questão de citação relacionada ao GNU Parallel, por causa do pedido do autor para citar a ferramenta ou pagar uma taxa
  • Usuários compartilham casos de uso em que o GNU Parallel proporcionou grande economia de tempo, como compactar em lote muitas imagens jpeg em arquivos webp menores
  • Um usuário menciona uma versão em shell script do GNU Parallel que pode ser usada em tarefas de pipeline de CI/CD
  • Um usuário compartilha sua experiência com os cmdlets ForEach-Object do PowerShell com o parâmetro -parallel, destacando o apelo da paralelização com ferramentas de linha de comando