Kıyaslamalar

Dört istemci, yedi senaryo, özdeş donanım ve sağlayıcılar; sağlayıcı kayması birbirini götürsün diye iç içe çalıştırmalar. Ölçüt, kullanılabilir bir dosyaya geçen süre: indirildi, doğrulandı, çıkarıldı. Kazanamadığımız ayaklar da dahil.

Bu sayfada

Önce yöntem

Kurulum

Senaryo 1 · temiz, devasa

190.6 GB → tek 167.9 GB mkv (Avrupa, 10 GbE)

nzbfast4m 33s
NZBGet 26.27m 58s · +75%
SABnzbd 5.0.419m 32s · +329%
rustnzb 1.3.4çıktı yok¹
nzbfastNZBGet 26.2SABnzbd 5.0.4rustnzb 1.3.4
kullanılabilir dosyaya süre4m 33s7m 58s (+75%)19m 32s (+329%)yok¹
hattaki GB169.6169.8169.7186.5
zirve RSS1.4 GB²1.5 GB1.8 GB0.6 GB

¹ rustnzb baytları taşımayı 5m 42s'de bitirdi, 186.5 GB çekmişti (herkesten %10 daha fazla hat) ama hiç çıkarılmış medya bırakmadı; bu gönderideki üst üste üçüncü başarısız turu. · ² nzbfast'in belleği işi değil, yapılandırılmış bütçesini izler: bu tur varsayılan otomatik bütçeyle çalıştı ve 1.4 GB'ta zirve yaptı; kasten devasa tutulmuş bir 64 GB bütçe yalnızca %4 kazandırır (4m 22s) ve 1 GB'a kelepçelendiğinde aynı 190 GB'lık iş yine tamamlanır (aşağıdaki az bellek merdivenine bak). Daha önceki Doğu Yakası turunda (~2.4–3 Gbps hat) aynı senaryo NZBGet +%30 ve SABnzbd +%111'e karşı 9m 00s çalıştı. Fark hat hızları boyunca korunur.

Senaryo 2 · fark boyutla büyür

İş boyutuna göre kullanılabilir dosyaya süre

Tek geçiş, indirme sonrası doğrulama/açma geçişi olmaması demektir, bu yüzden iş ne kadar büyükse, o kadar önde iner. Aynı makinede sıralı çalıştırmalar:

İşnzbfastNZBGetSABnzbd
7.4 GB REMUX (Avrupa, 10 GbE)13.7 s17.3 s (+26%)19.0 s (+39%)
35 GB gizlenmiş 4K (Avrupa)67 s108 s (+61%)285 s (+325%)
87 GB 4K (Doğu Yakası)272 s370 s (+36%)708 s (+160%)
97 GB boş diskte 87 GB (Avrupa)3m 08sçalışamaz²çalışamaz²
190.6 GB (Doğu Yakası)9m 00s11m 43s (+30%)19m 02s (+111%)

² Zirve ayak izleri (birimler + açılmış çıktı aynı anda, ~156 GB) 97 GB boş alanı aştı. Tek geçiş içerik boyutunun 1 katına ihtiyaç duyar: yalnızca zamanı değil, ihtiyaç duyduğun diski de yarıya indirir.

Senaryo 3 · gizlenmiş gönderi

35 GB hash adlı 4K → kullanılabilir mkv (Doğu Yakası)

nzbfastNZBGetSABnzbdrustnzb
kullanılabilir dosyaya süre96 s153 s (+59%)259 s (+170%)kullanılabilir dosya yok³
zirve RSS1.55 GB3.7 GB8.8 GB3.6 GB

³ rustnzb 119 s'de indirdi, işi Completed olarak işaretledi ve ham gizlenmiş birimleri gönderdi: yeniden adlandırma yok, çıkarma yok. nzbfast PAR2 meta verisinden gizliliği açtı ve akış içinde çıkardı, sıfır geri okuma bloğu.

Senaryo 4 · üçlü kuyruk

Bir kuyruk boyunca hattı yanık tutmak (Doğu Yakası, ~43 GB)

nzbfastrustnzbNZBGetSABnzbd
kuyruk duvar süresi122 s136 s162 s277 s
hat boşta (<20 MB/s)2 s (2%)16 s (12%)0 s168 s (61%)

Aynı sorunun üç biçimi: nzbfast'in kuyruk sonu örtüşmesi hattı uçtan uca meşgul tutar; NZBGet asla boşta durmaz ama eşzamanlı açarken ~%35 daha yavaş çalışır; SABnzbd hızlı indirir, sonra seri son işlem sırasında hattı zamanın %61'inde karanlık bırakır. Dayanıklılık çeşidinde (şifreli RAR başlıklı bir iş), SABnzbd'nin kuyruğu şifreli işte sıkıştı ve 3 işten yalnızca 1'i tamamlandı; nzbfast onu açık bir mesajla park etti ve gerisini bitirdi.

Dürüst sütun

Kazanamadığımız ayaklar

Burada duran iki tur da yayınlanan sürümde yeniden ölçüldü ve artık ikisi de kayıp değil: hasarlı store-mode gönderisi bize artık 30 s'ye mal oluyor, NZBGet'in 38 s'sine karşı; yalnızca pariteden yeniden inşa ise 19 s yerine 9 s'de bitiyor, üstelik NZBGet'in aynı sürede dönüp hiçbir şey teslim etmediği bir turda. Bölümü silmek yerine burada bırakıyoruz: kayıplarımızın yeri burası ve bir sonraki turda çıkacak olan buraya konacak.

Neden bir kaybı hiç gösterelim ki? Çünkü kazanımlar ancak onun yanında inandırıcıdır. Bu sayfadaki her rakam aynı iç içe çalıştırmalardan gelir ve kaybettiğimiz bir tur, yeni bir çalıştırma onun yerini alana kadar yayında kalır.

Senaryo 6 · onu RAM'den aç bırak

Az bellek merdiveni: ~1.1 GB RAM'de 190 GB

Aynı dört iş, 2 GB, 1 GB ve 256 MB'lık sabit bellek bütçelerinde yeniden çalıştırıldı: otomatik boyutlandırıcının bir 8 GB kutuda, bir 4 GB kutuda ve bir 2 GB NAS'ta seçeceği şey. Her ayak doğru, tam doğrulanmış, çıkarılmış bir dosya üretti; zirve RSS işi değil, bütçeyi izledi. Kullanılabilir dosyaya süre, 10 GbE hat:

İş boyutubol RAM2 GB bütçe1 GB bütçe256 MB bütçe
7 GB15 s15 s15 s15 s
35 GB65 s70 s70 s65 s
87 GB148 s206 s196 s180 s
190 GB330 s427 s402 s411 s

Büyük işlerdeki %20–40 fazlalık bir 10 GbE eseridir: dökülen bloklar yalnızca hat diski geçtiğinde zaman maliyeti getirir. Aynı 87 GB'lık iş aynı bütçelerde ~2.4 Gbps bir hatta −%1 ila +%7 ölçtü, gürültü. Tipik bir ev bağlantısında küçük bir bütçe herhangi bir iş boyutunda neredeyse bedavadır. Bir NAS profili (2 bağlantı, 256 MB bütçe) 35 GB'lık işi 0.4 GB zirve RSS'te bitirdi. Bir 2 GB NAS bunu çalıştırabilir. Başka hiçbir istemci bir bellek tavanı sunmaz bile.

Senaryo 7 · arşiv içinde arşivler

On iç içe biçim: kim sensiz bitiriyor

Gönderiler giderek daha sık iç içe geliyor: RAR içinde bir RAR, bir depolama arşivine sokulmuş bir 7z, katmanlardan bir merdiven, bir parola zinciri. Bu tur, operatöre ne kaldığını notlandırır. otomatik, her yükün elle hiç dokunulmadan, bayt bayt özdeş biçimde çıkarıldığı anlamına gelir; manuel ise istemcinin başarı bildirdiği ama çıktı dizininde kendin açasın diye bir iç arşiv bıraktığı anlamına gelir.

biçimnzbfastSABnzbdNZBGetrustnzb
depolama RAR içinde depolama RARotomatikotomatikmanuelmanuel
depolama RAR içinde sıkıştırılmış RARotomatikotomatikmanuelmanuel
depolama RAR içinde 7zotomatikotomatikmanuelmanuel
5 düzeyli merdiven, 6 yükotomatik · 6/6manuel · 3/6manuel · 1/6manuel · 1/6
parola zinciri, 3 şifreli düzeyotomatik · 3/3parola soruyorparola soruyorbaşarısız
otomatik tamamlama, on biçimin hepsi8/106/102/102/10

Geri döngü düzeneği, makine üretimi derlem, dört istemci de aynı makinede, içerik özetine göre notlandırıldı; böylece yükü yeniden adlandıran bir istemci de hakkını alır. İç katmanlar akış sırasında iç içelikten çözüldüğü için nzbfast diskte ~1.5 GB'lık tek bir kopya tutar; yaz-ve-aç istemcileri ~3 GB tutar ve nzbfast bu ayakları 4–8 sn'ye karşı 1–2 sn'de bitirir. Parola zincirinde her katmanın parolası, bir üstteki katmanın çıkardığı bir dosyada gelir: nzbfast onu okur ve üç düzeyin de kilidini açar; diğerleri durup senin yazmanı bekler. Otomatik tamamlayamadığı iki biçim bilerek sert notlandırıldı: varsayılan derinlik sınırının ötesindeki 10 düzeyli bir merdiven ve üç düzeyin üçünde de hasarlı bir gönderi. Her ikisinde de diğer tüm istemcilerden daha fazla yük kurtarır ama yarım kalmış bir işe başarı demek yerine sıfırdan farklı bir kodla çıkar; bu yüzden ikisi de burada başarısız sayılır.

Bileşen düelloları

Açma ve onarım motorları, tek başına yarıştırıldı

Çıkarma ve PAR2 bizim kendi yerel kodumuz, bu yüzden onları özdeş derlemler üzerinde alandaki rakiplere karşı tek başına da yarıştırıyoruz. Bir süre ancak çıktı kaynak yüke bayt bayt özdeş olduğunda sayılır.

RAR çıkarma · 8 arşiv biçimi

Bir Apple M3 Ultra'da unrar 7.23, 7-Zip, bsdtar, unar ve akış yukarı rars crate'ine karşı nzbfast'in çıkarıcısı her biçimi kazanır ya da berabere kalır: 400 küçük dosya unrar'ın 0.66 s'sine karşı 0.13 s, solid 0.50'ye 0.87, şifreli 0.49'a 0.82, 128 MB sözlüklü bir RAR7 arşivi 0.71'e 0.92. 20 çekirdekli bir M1 Ultra'da ve 14 çekirdekli bir Intel dizüstünde yeniden çalıştırıldığında sonuç her biçimde geçerli kalır ve dizüstünde farklar açılır: paralel kod çözme yolları fazladan iş parçacıklarına ölçeklenir. Bildirilen her süre sha256 özdeş çıktı üretti.

PAR2 doğrulama + onarım · 1 GiB küme

Klasik par2cmdline'a, SIMD'li par2cmdline-turbo çatalına ve MultiPar'a karşı nzbfast, yarıştırılan her makinede en hızlı doğrulamaya ve en hızlı onarıma sahip. 20 çekirdekli masaüstü: temiz doğrulama 0.40 s'ye karşı turbo'da 1.08 ve klasikte 3.67; 101 hasarlı bloğun onarımı 1.26 s'ye karşı 2.61 ve 7.52. 14 çekirdekli dizüstü: doğrulama 1.26'ya karşı 1.48, onarım 2.57'ye karşı 3.62. Onarılan her dosya bayt bayt özdeş. Bir dürüst not: PAR2 üretmiyoruz (bir indiricinin buna ihtiyacı yok ve o ayak ParPar'ın).

Bir işin maliyeti

1.5 GB yük için tepe disk kullanımı

Tek geçiş iddiası hız kadar disk hakkındadır; işte iddia yerine ölçüm: iç içe koşular sırasında çalışma dizininin ulaştığı en yüksek nokta, saniyede iki kez örneklendi. Sonda bir kez okumak hiçbir şey söylemezdi, çünkü çıkarımdan sonra birimlerini silen bir istemci onları hiç yazmamış gibi görünürdü.

biçimnzbfastNZBGet 26.2rustnzb 1.3.4SABnzbd 5.0.4
store RAR içinde store RAR1538153817743080
sıkıştırılmış iç katman1536153616743102
RAR içinde RAR, derinlik 21536153617143076
store RAR içine sarılmış 7z1503153617223102

Megabayt, düşük olan iyidir. NZBGet burada bizimle başa baş ve nedenini söylemek gerekir: DirectUnpack ve DirectWrite açık çalışıyor; her rakibi böyle yapılandırıyoruz ve bu biçimlerde diskte tek kopya için bu yeterli. SABnzbd iki tutuyor. Kalan fark, hattın kendisi için kurulduğu farktır: biz birimleri hiç maddileştirmiyoruz, dolayısıyla tepe değeri yükün kendisidir, yükün üstüne onu taşıyan arşiv değil.

Yetenek, mikro kıyaslamalar değil

Her istemci ne yapabilir

nzbfastSABnzbd 5NZBGet 26rustnzbUsenappNewsbin
işlem hattı NNTPevetvarsayılan kapalıhayırevet--
indirme sırasında tam doğrulamaher bloksonrahızlı denetimsonrasonrasonra
indirme sırasında çıkarmaakış içi, diskte birim yokdoğrudan açma⁴doğrudan açma⁴güvenilmez⁵hayırhayır
N-GB gönderi için gereken disk~1×N~2×N~2×N~2×N~2×N~2×N
indirme öncesi tamamlanabilirlik kararıblok kesinliklihayırsağlık %hayırmakale denetimihayır
sınırlı bellek (asla takas)bütçeli9.3 GB @ 190 GBönbellek ayarıhayır--
indirirken dosyayı herhangi bir noktada kontrol etevethayırhayırhayırsıralıhayır
gömülü dizinleyici + poster duvarıevet, anahtarsızhayırhayırhayırarama arayüzügrup tarayıcısı
Sonarr/Radarr tak-çalıştırSAB API + Newznabyerelyerelkısmihayırhayır
telefon uzaktan kumandaları (nzb360/LunaSea)NZBGet RPC üzerindenevetevethayırhayırhayır
izleme listesi otomatik yakalama + yükseltmelergömülü*arr üzerinden*arr üzerindenhayırWatchdogkurallar
tek, kendi kendine yeten ikilievetPythonevetevet.app.exe
açık kaynakGPL⁶GPLGPLevetücretliücretli
platformlarmac/win/linux/dockermac/win/linuxmac/win/linuxlinux/winyalnızca macyalnızca win

⁴ Doğrudan açma yine de önce birimleri gerçekleştirir: 2× yazma ve 2× disk. ⁵ rustnzb turumuzda "Completed" olarak işaretli gizlenmiş birimleri gönderdi (açması ayrıca devre dışı bırakılmazsa RARLab unrar ile takılır). ⁶ GPL-3.0-or-later. Usenapp/Newsbin, indirici özellikleri olan tek platformlu ticari okuyuculardır; hızda yarıştıkları için değil, insanlar sorduğu için listelendiler.

Taşıma kanıtı

Motor gerçek hatları doyurur

Kalıcı kural: her performans iddiası, altında çalıştığı koşulları anar; olumsuz sonuçlar ve yanlış dönüşler dahil.