9 poin oleh GN⁺ 2023-08-22 | 1 komentar | Bagikan ke WhatsApp
  • GNU Parallel berguna untuk menjalankan pengujian E2E secara paralel
  • Penulis ingin mengumpulkan statistik rasio lulus/gagal dari rangkaian pengujian yang berjalan lama terhadap layanan live melalui HTTP
  • Awalnya penulis menjalankan pengujian dengan nested loop di bash, tetapi karena waktu eksekusi tiap pengujian lama, metode ini lambat
  • Setelah itu, penulis menggunakan GNU Parallel untuk menjalankan pengujian secara paralel, dan performa serta fungsionalitas meningkat besar dengan kode yang lebih sedikit
  • Di GNU Parallel, kita menentukan agar perintah dijalankan secara paralel, dan placeholder ({1}, {2}, dan seterusnya) diganti dengan nilai input
  • Input untuk perintah ditentukan setelah operator :::, lalu diberikan ke perintah dalam semua kombinasi yang mungkin
  • GNU Parallel menyediakan opsi untuk mengendalikan konkurensi dan menghindari perebutan resource, seperti membatasi jumlah pekerjaan simultan atau menunda awal tiap pekerjaan
  • Alat ini juga menyediakan fitur untuk menghasilkan file CSV berisi hasil penyelesaian pekerjaan: durasi, exit code, serta stdout/stderr yang ditangkap
  • Penulis merekomendasikan buku karya Ole Tange, penulis GNU Parallel, untuk mengeksplorasi lebih dalam fitur-fitur alat ini, seperti mendistribusikan pekerjaan ke host lain menggunakan SSH, memantau waktu penyelesaian pekerjaan, mencoba ulang pekerjaan yang kemungkinan gagal tinggi, melanjutkan pekerjaan jika eksekusi paralel terhenti di tengah jalan, atau membatasi konkurensi pekerjaan berdasarkan penggunaan CPU

1 komentar

 
GN⁺ 2023-08-22
Komentar Hacker News
  • Menunjukkan kegunaan dan keterbatasan GNU Parallel, sekaligus mengusulkan alternatif seperti YSH, Nushell, dan Fish
  • Pendapat pengguna yang menyatakan adanya keterbatasan komputer saat ini dalam memanfaatkan fitur paralel, serta mengusulkan perlunya lebih banyak core dan memori beralamat konten lokal
  • Sejumlah pengguna membagikan pengalaman positif menggunakan GNU Parallel untuk tugas seperti pembuatan data uji, transfer data, banyak pekerjaan di HPC, dan pipeline dengan dependensi data sederhana
  • Pengguna membandingkan GNU Parallel dengan xargs, task spooler, dan alat lain; untuk tugas tertentu GNU Parallel berguna, tetapi disebut bisa lebih lambat dari sisi kecepatan
  • Beberapa pengguna menyampaikan kekhawatiran terkait isu sitasi yang berhubungan dengan GNU Parallel, termasuk permintaan penulis agar alat tersebut dikutip atau dibayar
  • Pengguna membagikan kasus penggunaan di mana GNU Parallel sangat menghemat waktu, seperti kompresi batch gambar jpeg dalam jumlah besar menjadi file webp yang lebih kecil
  • Ada pengguna yang menyebut versi shell script dari GNU Parallel yang bisa digunakan untuk pekerjaan pipeline CI/CD
  • Pengguna membagikan pengalaman dengan cmdlet ForEach-Object di PowerShell yang memiliki parameter -parallel, sambil menekankan daya tarik paralelisasi menggunakan alat baris perintah