9 ポイント 投稿者 GN⁺ 2023-08-22 | 1件のコメント | WhatsAppで共有
  • GNU Parallel は E2E テストを並列実行するのに便利
  • 著者は、HTTP 経由の本番サービスに対して長時間実行されるテストセットの合格/不合格率に関する統計を収集しようとしていた
  • 当初、著者は bash のネストしたループを使ってテストを実行していたが、各テストの実行時間が長いため、この方法は遅かった
  • その後 GNU Parallel を使ってテストを並列実行したところ、より少ないコードで性能と機能が大幅に向上した
  • GNU Parallel では、コマンドを並列実行するよう指定し、プレースホルダー({1}、{2} など)は入力値に置き換えられる
  • コマンドへの入力は ::: 演算子の後に指定し、可能なすべての組み合わせでコマンドに渡される
  • GNU Parallel には、同時実行ジョブ数を制限したり、各ジョブの開始を遅らせたりするなど、並行性を制御してリソース競合を避けるためのオプションがある
  • このツールには、実行時間、終了コード、キャプチャした stdout/stderr を含む、ジョブ完了結果の CSV ファイルを出力する機能もある
  • 著者は GNU Parallel の作者 Ole Tange の書籍を勧めている。SSH を使って他のホストにジョブを分散したり、ジョブ完了時間を監視したり、失敗しやすいジョブを再試行したり、並列実行が途中で中断された場合にジョブを再開したり、CPU 使用率に基づいてジョブの同時実行数を制限したりするなど、このツールの機能をさらに深く探るためだ

1件のコメント

 
GN⁺ 2023-08-22
Hacker News の意見
  • GNU Parallel の有用性と限界を指摘しつつ、YSH、Nushell、Fish などの代替案も提案
  • 並列機能の活用に関する現在のコンピュータの限界を主張するユーザーの意見。より多くのコアと、ローカルなコンテンツアドレス指定メモリの必要性を提案
  • GNU Parallel を活用した肯定的な経験を共有する複数のユーザー。テストデータ生成、データ転送、HPC における多数の作業、単純なデータ依存性を持つパイプラインなどの作業
  • GNU Parallel と xargs、task spooler など他のツールを比較するユーザーたち。特定の作業では GNU Parallel が有用だが、速度面では遅い可能性があるとの指摘
  • GNU Parallel に関連する引用問題について懸念を示す一部のユーザー。ツールを引用するか費用を支払うよう求める作者の要望
  • GNU Parallel が大きな時間短縮を可能にしたユースケースを共有するユーザーたち。大量の jpeg 画像を小さな webp ファイルへ一括圧縮する例など
  • CI/CD パイプライン作業に使える GNU Parallel のシェルスクリプト版に言及するユーザー
  • -parallel パラメータを持つ PowerShell の ForEach-Object cmdlets に関する経験を共有するユーザー。コマンドラインツールを使った並列化の魅力を強調