9 puan yazan GN⁺ 2023-08-22 | 1 yorum | WhatsApp'ta paylaş
  • GNU Parallel, E2E testlerini paralel çalıştırmak için kullanışlı
  • Yazar, HTTP üzerinden çalışan canlı bir hizmet için uzun süre çalışan test setlerinin başarılı/başarısız olma oranlarına dair istatistik toplamak istemiş
  • İlk başta yazar, bash içinde iç içe döngüler kullanarak testleri çalıştırmış, ancak her testin çalışma süresi uzun olduğundan bu yöntem yavaş kalmış
  • Daha sonra GNU Parallel kullanarak testleri paralel çalıştırmış; daha az kodla performans ve işlevsellik büyük ölçüde artmış
  • GNU Parallel'de komutların paralel çalıştırılması belirtilir ve yer tutucular ({1}, {2} vb.) girdi değerleriyle değiştirilir
  • Komut için girdiler ::: operatöründen sonra belirtilir ve tüm olası kombinasyonlarla komuta verilir
  • GNU Parallel, eşzamanlı iş sayısını sınırlama veya her işin başlangıcını geciktirme gibi, eşzamanlılığı kontrol edip kaynak çekişmesini önlemeye yarayan seçenekler sunar
  • Araç ayrıca iş tamamlama sonuçlarını içeren bir CSV dosyası üretme özelliği de sunar: süre, çıkış kodu ve yakalanan stdout/stderr dahil
  • Yazar, GNU Parallel'in yazarı Ole Tange'in kitabını öneriyor; SSH kullanarak işleri başka hostlara dağıtma, işlerin tamamlanma süresini izleme, başarısız olma ihtimali yüksek işleri yeniden deneme, paralel çalışma yarıda kesildiğinde işleri sürdürme veya CPU kullanımına göre iş eşzamanlılığını sınırlama gibi aracın özelliklerini daha derinlemesine keşfetmek için

1 yorum

 
GN⁺ 2023-08-22
Hacker News görüşleri
  • GNU Parallel'in kullanışlılığına ve sınırlamalarına dikkat çekilirken YSH, Nushell, Fish gibi alternatifler de öneriliyor
  • Paralel özelliklerden yararlanma konusunda günümüz bilgisayarlarının sınırlı olduğunu savunan bir kullanıcının görüşü; daha fazla çekirdek ve yerel içerik adreslemeli bellek gerekliliği öneriliyor
  • Test verisi üretimi, veri aktarımı, HPC'de çok sayıda iş ve basit veri bağımlılıklarına sahip pipeline'lar gibi işlerde GNU Parallel ile olumlu deneyimlerini paylaşan çeşitli kullanıcılar
  • GNU Parallel'i xargs, task spooler ve diğer araçlarla karşılaştıran kullanıcılar; bazı işlerde GNU Parallel'in faydalı olduğunu ancak hız açısından daha yavaş olabileceğini belirtiyor
  • Bazı kullanıcılar GNU Parallel ile ilgili alıntılama meselesine dair endişelerini dile getiriyor; aracın alıntılanmasını ya da ücret ödenmesini isteyen yazarın talebine değiniyorlar
  • Toplu halde çok sayıda jpeg görselini daha küçük webp dosyalarına sıkıştırmak gibi, GNU Parallel'in ciddi zaman tasarrufu sağladığı kullanım örneklerini paylaşan kullanıcılar
  • GNU Parallel'in CI/CD pipeline işleri için kullanılabilecek bir shell script sürümünden bahseden bir kullanıcı
  • -parallel parametresine sahip PowerShell ForEach-Object cmdlet'leriyle deneyimini paylaşan bir kullanıcı, komut satırı araçlarıyla paralelleştirmenin cazibesini vurguluyor