Bu "grep" veya "zgrep" komutunun performansı daha fazla bellekten mi yoksa daha hızlı bir CPU'dan mı yararlanır?


0

Aşağıdaki komutlara sahibim:

time grep -F -f 'in2.txt' test.fastq
time zgrep -F -f 'in2.txt' test.fastq.gz

~ 5 GB olan dosyalarda yaklaşık 30 arama terimi vardır. Bununla birlikte, bir bilgisayarda aramayı bitirmenin 3-5x zaman aldığını fark ettim, bunun bir Amazon topluluğunda olduğunu. Bu yüzden hızı ne etkiliyor merak ediyorum? Daha fazla belleğe veya daha yüksek CPU hızına sahip bir ECS'yi başlatmalı mıyım?


2
Bir Amazon ecs herhangi bir fiziksel donanımda çalışıyor olabilir, değil mi? Ne rapor ettiğinden bağımsız olarak gerçekte ne kullandığına dair hiçbir garantiniz olmayabilir ... ama yine de zgrep sıkıştırılmış dosyaları arar, grep olmaz, bu yüzden onlar çok farklıdır.
Xen2050

Xen2050, grep ve zgrep'in performans profilinde belirgin olduğu konusunda haklısınız. En önemlisi, eğer G / Ç kısıtlıysanız, ancak CPU kısıtlı değilseniz, iyi sıkıştırılmış dosyalar üzerinde çalışmanın medyadan veri çekmek için gereken süreyi azaltarak yardımcı olacağını bilmelisiniz.
Slartibartfast

Yanıtlar:


2

CPU ve G / Ç. Küçük (30 oldukça küçük) bir terim kümesi arıyorsanız, G / Ç'ye bağlı olmanız ve makul şekilde CPU'ya bağlı olmanız muhtemeldir. Belleğe bağlı olmayacaksınız.

[BENİM NACİZANE FİKRİME GÖRE]

Doğru cevap, elbette, test etmektir. Bunu, söz konusu komutu çalıştırırken iki terminalin açık ve 'dstat' çalıştırılması da dahil olmak üzere birkaç yolla yapabilirsiniz. Tamamlanması birkaç saniye sürerse, hangi kaynakların maksimize edildiğine (% 100'e veya bazı sabit durum değerlerine) ve hangilerinin olmadığı fikrine sahip olmalısınız.


Ben incelemedim grep kaynak kodunu, ancak neden göremiyorum grep Bu durumda daha fazla hafızadan faydalanacaktır. Arama dizgisi aşırı uzun değilse, grep muhtemelen küçük tamponlarla çalışacaktı (sanırım hafıza haritası olacaktı).
Edward
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.