Beş istemci, özdeş donanım ve sağlayıcılar, sağlayıcı kaymasının birbirini götürmesi için iç içe geçmiş çalıştırmalar. Ölçüt kullanılabilir bir dosyaya kadar geçen süre - indirildi, doğrulandı, çıkarıldı - ve bununla birlikte işin size mal olduğu disk, boş alan ve bellek. Her tablo, yarıştırdığı derlemeleri ve koştuğu günü adlandırır. Kazanmadığımız ayaklar dahil.
Bu sayfada
Kısacası · 23 Ağustos 2026'da nzbfast 1.2.2 olarak yayımlanan kod hattı üzerinde ölçüldü
Bu sayfadaki en yeni ayaklar 23 ve 24 Ağustos 2026'da koştu - en yenisi doğrudan v1.2.2 sürüm derlemesinde - özdeş donanım, hat ve sağlayıcılarda dört başka istemcinin güncel derlemelerine karşı: 6,5 ile 87 GB arasında iki iş biçimi, ve 250 Mbit'ten 10 GbE'ye hat hızları. Bu ayaklarda hiçbir istemci işlemci, bellek ve diskte birlikte nzbfast'ten ucuza gelmedi: her biri üçünden en az ikisinde daha pahalıya mal oldu, herhangi birinin tek bir eksende kazandığı en fazla şey yaklaşık yüzde 2 idi - o istemcinin kendi çalıştırmadan çalıştırmaya değişen aralığının içinde kalan, istatistiksel bir berabere - ve diskte, hepsi bayt-eşdeğeri bir sonuç için en az iki katı bayt taşıdı. Fabrika ayarlarıyla nzbfast, ölçülen her istemci arasında ölçülen her senaryoda da en az belleği tuttu, en yakın rakibe karşı 2,0x ile 4,5x arasında.
Hangisi size uyar?
Çoğu indirici, indirmenizi diske en az iki kez yazar: biri indirirken, biri de arşivi açarken. nzbfast tüm işi tek geçişte yapar, bu yüzden iş başına baytların yaklaşık yarısını yazar, çalışırken bellekte daha azını tutar, ve GB başına daha az işlemci saniyesi harcar. Bu, kullanırken makine üzerindeki daha az yük ve aynı bayt-eşdeğeri dosyalar için sürücülerinizde iş başına yarı yazma demektir - ve her bayt diski yaklaşık bir kez geçtiği için, sürücünüzün hattınıza yalnızca bir kez yetişmesi gerekir.
nzbfast bu sayfadaki her tabloyu kazanmıyor, ve kaybettikleri kazanmadığımız ayaklar altında - aynı ayaktan bir tanesi dahil. Ölçtüğümüz her ayakta değişmeyen şey birleşik faturaydı.
Önce yöntem
pipelining_requests=8 verildi (kendisi 1 ile, yani
hatsız gelir, ve bu ayar büyük işlerde çift haneli yüzdelere değer),
NZBGet'e ArticleCache/DirectWrite/DirectUnpack/ParQuick verildi, rustnzb kendi
belgelenmiş yapılandırmasıyla koştu. 20 Ağustos 2026'dan beri her ayak altı değil
beş sağlayıcıya karşı koşuyor - bu kutularda sağlayıcı sayısı bir aktarım
kolu değil, tek bir sağlayıcı bile hat tavanına ulaşabiliyor, ve sabit bir küme
ayakları karşılaştırılabilir tutuyor - bu yüzden bu sayfadaki altı sağlayıcılı bir
rakam daha yeni bir beş sağlayıcılı olanla doğrudan karşılaştırılabilir değil, ve
her tablo hangisini koşturduğunu belirtir.23 Ağustos 2026 ayağı
1 Gbit hatta 20 çekirdekli bir Apple Silicon kutuda altı kol: fabrika ayarlarıyla nzbfast, bağlantı denetleyicisi kapatılmış aynı ikili dosya, ve diğer dört istemcinin güncel derlemeleri. Beş sağlayıcı, her yerde TLS, senaryo başına istemci başına üç tekrar ve her ayak içinde sıra döndürülerek, ve her ayağın çıktısı bayt bayt denetlendi: 36 ayaktan 36'sı tam olarak aynı yükü üretti. 1 Gbit'te hat tempoyu belirler ve bitiş süreleri tasarım gereği birbirine yaklaşır, bu yüzden süre sütunu o yakınsamayı göstermek için orada; kaynak sütunları ise ayağın var oluş sebebi.
Bir kadran önemli ve gömülmek yerine açıkça söyleniyor: fabrika ayarları artık hatı tanıyan bir bağlantı denetleyicisi içeriyor, ve bu hatta diğer her istemci yapılandırdığı yüzlerce bağlantıyı çalıştırırken o 25 bağlantı tuttu. "Denetleyici kapalı" satırı, daha eski ayaklarımızın kullandığı aynı 360 soketi çeviriyor, böylece iki karşılaştırma da mevcut kalıyor: bir okuyucu olarak ürün ve tarihsel deney.
| 6,5 GB adlandırılmış sürüm, çıkarma yol üzerinde | kullanılabilir dosyaya süre | zirve bellek (RSS) | CPU süresi | aygıt G/Ç (GiB) | ağ (GB) |
|---|---|---|---|---|---|
| nzbfast, fabrika ayarları (25 bağ.) | 58 s | 143 MB | 35,7 s | 6,2 | 6,5 |
| nzbfast, denetleyici kapalı (360) | 60 s | 583 MB | 38,0 s | 6,1 | 6,6 |
| NZBGet 26.3-testing | 61 s | 801 MB | 40,1 s | 12,5 | 6,5 |
| SABnzbd 5.1.1 | 63 s | 1.588 MB | 69,5 s | 13,8 | 6,5 |
| rustnzb 1.4.5 | 67 s | 628 MB | 61,9 s | 13,4 | 7,2 |
| Weaver 0.7.8 | 110 s | 531 MB | 34,9 s¹ | 12,5 | 6,5 |
| 34 GB gizlenmiş sürüm | kullanılabilir dosyaya süre | zirve bellek (RSS) | CPU süresi | aygıt G/Ç (GiB) | ağ (GB) |
|---|---|---|---|---|---|
| nzbfast, fabrika ayarları (25 bağ.) | 302 s | 191 MB | 194,0 s | 32,5 | 34,4 |
| nzbfast, denetleyici kapalı (360) | 302 s | 465 MB | 205,4 s | 32,9 | 34,4 |
| NZBGet 26.3-testing | 306 s | 900 MB | 221,3 s | 68,1 | 34,4 |
| SABnzbd 5.1.1 | 308 s | 1.607 MB | 356,5 s | 72,5 | 34,4 |
| rustnzb 1.4.5 | 343 s | 445 MB | 332,6 s | 69,8 | 37,8 |
| Weaver 0.7.8 | 511 s | 1.076 MB | 373,8 s | 98,0 | 34,4 |
23 Ağustos 2026'da ölçüldü, SABnzbd 5.1.1, NZBGet 26.3-testing, rustnzb 1.4.5 ve Weaver 0.7.8'e karşı, üçün ortancaları, her ayak bayt denetimli, beş sağlayıcı, hepsi TLS. nzbfast kolları, aynı kod hattının o gün daha erken alınmış, v1.2.2 yayım derlemesinden yaklaşık yedi saat önceki bir derlemesiyle koştu; bu yüzden satırları sürüm numarası taşımıyor. Bu sayfadaki 500 Mbit ve 87 GB tabloları ise gerçekten yayım derlemesinin kendisiyle koştu ve bunu söylüyor. ¹ Weaver'ın 6,5 GB senaryodaki CPU ortancası bizimkinin %2 altında (34,9'a karşı 35,7), kendi üç ayağı 34,1 ile 56,1 s arasında yayılıyor, bu yüzden bunu istatistiksel bir berabere olarak okuyun; bu, iki tablodan birinde bir rakibin tuttuğu tek hücre, ve kazanmadığımız ayaklar altında tekrarlanıyor. 34 GB senaryoda CPU'muz açık ara en düşük. Weaver'ın daha yeni 0.8.3'ü hiçbir ikili dosya yayımlamıyor; kaynağından derlediğimiz sürümü, sürüme mi yoksa derlemeye mi bağlı olduğunu temiz biçimde ayıramadığımız bir işlemci örüntüsü ölçtü, bu yüzden bu tablo hash ile kanıtlanmış 0.7.8 sürüm dosyasını yarıştırıyor ve bunu karmaşıklaşmış bir rakam yayımlamak yerine açıkça söylüyor. rustnzb 1.4.5, gizlenmiş senaryo dahil, buradaki her ayağı tamamladı.
Ağ sütunu, tam olarak. Temiz senaryoda 6,5 GB - NZBGet ve SABnzbd'nin kendileri için bildirdiği aynı rakam. Bildiğimiz en kötü durum, kasıtlı olarak yeniden numaralandırılmış gizlenmiş bir gönderi, burada karışık numaralandırma etrafında dolaşmak dönüş başına bir ekstra makaleye mal oluyor: kurabildiğimiz her iki biçimde de asgari planın 1,10-1,20 katı olarak ölçüldü. rustnzb'nin 7,2 ve 37,8 GB hücreleri kendi fazlalığı, günlüğünde iki ayakta bir uyarıyla birlikte.
Bellek sütununun fabrika ayarlarında anlamı: denetleyici, fabrika satırının 143-191 MB tutmasının başlıca sebebi - daha az bağlantı, uçuşta daha az veri demek - ve onu kapatmak (ikinci satır), bu sayfadaki her eski 360 soketlik tabloya dürüst köprü. 360 sokette bile en hafif rakiple aynı seviyedeyiz (küçük senaryoda 583 MB'a karşı rustnzb'nin 628'i, büyük senaryoda 465'e karşı onun 445'i); fabrika ayarlarında ise ortada beraberlik kalmıyor.
Daha yavaş hatlar · 24 Ağustos 2026'da nzbfast 1.2.2 üzerinde ölçüldü
Yeterince yavaş bir hatta her istemcinin bitiş süresi yalnızca hattır, başka bir şey değil, bu yüzden yavaş bir hat pek çok günahı gizler. Gizleyemediği şey her istemcinin onu doldurmak için ne yaktığıdır. 1 Gbit düzeneği gerçek planların gerçekten olduğu iki hıza şekillendirdik ve her hızda altı kolun tümünü yarıştırdık - aynı kutu, aynı beş sağlayıcı, istemci başına üç tekrar, sıra döndürülerek, her ayak bayt denetimli, iki ayaktaki 36 ayaktan 36'sı doğru. 500 Mbit'teki nzbfast kolu, v1.2.2 sürüm derlemesinin ta kendisi.
| 500 Mbit hat, 6,5 GB sürüm | kullanılabilir dosyaya süre | zirve bellek (RSS) | CPU süresi | aygıt G/Ç (GiB) |
|---|---|---|---|---|
| nzbfast 1.2.2, fabrika ayarları | 109 s | 142 MB | 45,4 s | 6,2 |
| nzbfast 1.2.2, denetleyici kapalı | 115 s | 592 MB | 59,0 s | 6,2 |
| SABnzbd 5.1.1 | 125 s | 1.665 MB | 99,2 s | 14,2 |
| rustnzb 1.4.5 | 131 s | 626 MB | 92,6 s | 14,5 |
| Weaver 0.7.8 | 138 s | 564 MB | 48,5 s | 12,4 |
| NZBGet 26.3-testing | 145 s¹ | 846 MB | 64,3 s | 13,2 |
| 250 Mbit hat, aynı sürüm | kullanılabilir dosyaya süre | zirve bellek (RSS) | CPU süresi | aygıt G/Ç (GiB) |
|---|---|---|---|---|
| nzbfast, fabrika ayarları | 217 s | 144 MB | 53,3 s | 6,2 |
| nzbfast, denetleyici kapalı | 219 s | 651 MB | 67,9 s | 6,2 |
| NZBGet 26.3-testing | 227 s | 826 MB | 78,4 s | 13,3 |
| SABnzbd 5.1.1 | 230 s | 1.667 MB | 162,4 s | 15,2 |
| Weaver 0.7.8 | 230 s | 789 MB | 62,0 s | 12,9 |
| rustnzb 1.4.5 | 256 s | 644 MB | 122,4 s | 15,4 |
İki tabloyu bir eğim olarak okuyun. 250 Mbit'te tüm alan saatte %18 içine sığıyor ve en yakın rakibi %4,4 farkla geçiyoruz; 500 Mbit'te fark %14,7'ye açılıyor; yukarıdaki ve aşağıdaki gigabit ve 10 GbE hızlarında daha da açılıyor. Hız farkları hatla birlikte büyüyor. Kaynak sütunları hızlı bir hat beklemiyor: ölçülen her hızda, her rakip belleğin en az 3,9 katını tuttu, daha çok işlemci harcadı, ve aynı bayt-eşdeğeri dosya için disk baytlarının yaklaşık iki katını taşıdı.
Bağlantı denetleyicisi yavaş hatlarda hakkını veriyor, ve şekillendiricinin kendi düşürme sayacı bunun sebebini söylüyor. Fabrika ayarları, her rakip yüzlerce bağlantı çalıştırırken 25 bağlantı tuttu; denetleyicisi kapalı aynı ikili dosya 360 çalıştırdı. Sabit bir kuyruktan geçen daha az akış daha az kayıp ve daha az yeniden gönderme demek: şekillendirici, 500 Mbit'te sınırlı bir ayak başına yaklaşık 4.200 düşme kaydetti, sınırsız ayakta ise yaklaşık 155.000; sınırlı kol hem daha hızlı, hem 4,2 kat bellekte daha hafif, hem de kendi 360 soketlik duruşumuza göre CPU'da 1,3 kat daha hafifti. Daha çok bağlantı daha çok hız demek değil; gigabitin altında bu ölçülebilir biçimde tam tersi.
24 Ağustos 2026'da ölçüldü, üçün ortancaları, hattı her hıza şekillendirilmiş 20 çekirdekli bir Apple Silicon kutuda (şekillendirilen hız her ayaktan önce bağımsız bir yoklamayla doğrulandı: 248 ve 496 Mbit). 500 Mbit'teki nzbfast kolu v1.2.2 sürüm etiketi derlemesi; 250 Mbit ayağı aynı kod hattında saatler önce koştu. Şekillendirilmiş bir hatta bayt sayıları her istemcinin kendi sayacından okunur, asla ağ arayüzünden değil (şekillendirici düşürür ve TCP yeniden gönderir, bu yüzden arayüz her iki kopyayı da sayar). Duvar süreleri her tablo içinde karşılaştırılabilir, farklı şekillendirilmiş ayaklar arasında değil. ¹ NZBGet'in 500 Mbit'teki üç ayağı 114-158 s arasında yayıldı, kaynak okumaları sabitti - gerçek bir yayılma, bu yüzden ortanca verildi ve yayılma daraltılmadan belirtildi.
Büyük dosya · 24 Ağustos 2026'da nzbfast 1.2.2 üzerinde ölçüldü
Hat hızı hikayesinin öteki ucu: 10 GbE bir kutu, beş sağlayıcı, yükü tek bir 76,6 GB'lık video olan 87 GB'lık bir gönderi, altı kol, döndürülen üç tekrar, ve her ayağın çıktısı bayt denetimli - 18 ayaktan 18'i özdeş dosyayı üretti, altı istemcinin tümü onun sağlama toplamında hemfikir. nzbfast kolları v1.2.2 sürüm derlemesi.
| 87 GB gönderi, 10 GbE | kullanılabilir dosyaya süre | zirve bellek (RSS) | CPU süresi | aygıt G/Ç (GiB) | ağ (GB) |
|---|---|---|---|---|---|
| nzbfast 1.2.2 (50 bağlantı)¹ | 70 s | 415 MB | 144 s | 72,9 | 77,2 |
| nzbfast 1.2.2, bağlantı denetleyicisi açık (25) | 90 s | 336 MB | 130,5 s | 72,9 | 77,4 |
| NZBGet 26.3-testing | 93 s | 1.195 MB | 443 s | 183,7 | 77,2 |
| SABnzbd 5.1.1 | 113 s | 1.910 MB | 234 s | 235,1 | 77,2 |
| Weaver 0.7.8 | 645 s | 1.825 MB | 631 s | 435,1² | 77,3 |
| rustnzb 1.4.5 | 869 s³ | 681 MB | 2.444 s | 216,1 | 86,9 |
Disk hikayesi şimdiye dek en büyük ölçeğinde. İş sırasındaki zirve diskimiz 70,8 GiB - 76,6 GB'lık çıktının ALTINDA, çünkü yükün kuyruğu hâlâ ulaşırken başı zaten kesinleşmiş durumda - ve toplam aygıt G/Ç'si yükün 1,00 katı. Rakipler aynı dosya için baytların 2,5 ile 6,0 katını taşıyor. Ve en hızlı kol, doğrulama ve çıkarmayı içeriyor haldeyken yaklaşık 8,7 Gbps sürdürüyor; indirme çubuğu dolduğu anda dosya hazır.
¹ Bu sayfadaki her istemci kendi belgelenmiş en iyi ayarlarında yarıştırılıyor, ve 10 GbE bir hatta bizimki toplam 50 bağlantı - sunucu başına 10, herhangi bir hesap kademesinin ulaştığı bir kadran - her rakibe verdiğimiz aynı tek-ayarlık ayar (SABnzbd'ye kendi hatlaması, NZBGet'e kendi makale önbelleği). Elli bir sakatlama değil: aynı senaryo üzerindeki altı basamaklı bir tarama, duvarın 50 bağlantıdan hesap tavanı olan 360'a kadar aynı kaldığını buldu, işlemci maliyeti ise o aralıkta 2,3 kat artıyor, karşılığında hiçbir şey almadan, bu yüzden tavanlar bu tablonun gösterebileceği hiçbir şey satın almıyor. 50 bağlantılı satır sonra aynı gün, aynı kutuda, aynı çıktı sağlama toplamına karşı tam üç-tekrarlı kalitede yeniden ölçüldü: 70 / 70 / 70 s, üçü de bayt denetimli. Denetleyici satırı burada, çünkü o daha ilginç olanı: gigabite kadar her hızda 25 bağlantısı bedavadan-hızlıya gidiyor, ve burada bile, duvarın yaklaşık beşte birine mal olurken, 415'e karşı 336 MB bellek ve 144'e karşı 130 CPU-saniyesi satın alıyor. Denetleyiciyi hat hızıyla otomatik olarak ölçeklemek - böylece en iyi davranış aynı zamanda varsayılan olur, tavanlarda değil dizde - bir sonraki sürüm için kuyrukta. ² Weaver'ın 77 GB'lık bir indirme için 435 GiB'lık aygıt G/Ç'si, iş büyüdükçe şifreli-dinlenme deposunun neredeyse her şeyi yeniden okuması ve yeniden yazması - Temmuz araçlı ayaklarımızın ölçtüğü, güncel derlemede hâlâ mevcut olan doğrusal-üstü örüntü. ³ rustnzb 1.4.5 bayt-doğru tamamlanıyor ve bedeli işlemci süresi ile ağda: üç tekrarın tümünde 869 s'lik saate karşı yaklaşık 2.444 CPU-saniyesi, ve açgözlü planın 77,2 olduğu yerde çekilen 86,9 GB (kurtarma setinin tamamını koşulsuz getiriyor). 24 Ağustos 2026'da ölçüldü, üçün ortancaları, her derleme güncel; en hızlı üç kol için 3. tekrar diğerlerinden ~40 dakika sonra koştu (bir boş-alan koruyucusu ayağı duraklattı; kayma hiçbir ortancayı tekrar yayılmasından fazla hareket ettirmedi).
Bu turdan bu yana regülatör satırının yerini 1.2.3'ün getirdiği aldı. 26 Ağustos 2026'da aynı senaryo, aynı makine ve aynı 10 GbE hattında ölçüldü; bu tablonun sağlama toplamına karşı altı ayak bayt bakımından doğru: fabrika ayarlarında 71 s, 322 MB ve 139,3 işlemci saniyesi, yukarıdaki 90 s'ye karşı. Bu, daha yeni bir derlemeyle yapılan yalnızca nzbfast turuydu; bu yüzden tabloya yarıştırılmak yerine burada belirtiliyor: yukarıdaki her satır 24 Ağustos'ta ölçüldüğü gibi duruyor.
Bu sayfadaki ilk ticari istemci: Newsbin Pro, en uzun soluklu ücretli Windows istemcisi, TLC sistem sürücüsü 0,99 GB/s yazma sürdüren yerel-Windows 10 GbE bir makinede resmi Windows derlememize karşı yarıştırıldı - test filomuzdaki en yavaş disk, bu da onu bir aşamalı istemciyi yarıştırmak için dürüst yer yapıyor. Aynı 87 GB gönderi, iç içe üç tekrar, her ayağın çıktısı yukarıdaki tabloyla aynı sağlama toplamına karşı bayt denetimli: 6'da 6'sı özdeş.
| 87 GB gönderi, Windows, TLC disk | kullanılabilir dosyaya süre | zirve bellek (RSS) | CPU süresi | aygıt G/Ç (GiB) | ağ (GB) |
|---|---|---|---|---|---|
| nzbfast 1.2.2 (50 bağlantı) | 105 s | 469 MB | 154 s | 84,5 | 76,7 |
| Newsbin Pro 6.90 (360 bağlantı) | 477 s | 881 MB | 1.862 s | 154,1 | 76,7 |
24 Ağustos 2026'da ölçüldü, üçün ortancaları, iki istemci de güncel. Newsbin kendi yapılandırılmış sunucu başına bağlantı tavanında koştu - bize göre 50'ye karşı 360 soket - ve süreleri, izleme düzeneğimizin bir istemciyi bitmiş saymadan önce beklediği 90 saniyelik yatışmayı saymaz, bu yüzden karşılaştırma iki kez onun lehine eğilir ve sonuç yine de aynı kalır: özdeş dosya için 4,5 kat duvar, 12 kat CPU-saniyesi, ve 1,9 kat bellek. Burada hiçbir taraf disk sınırlı değil - tek geçişli kol sürücünün 0,99'unun yaklaşık 0,73 GB/s'sini istiyor, Newsbin ise sekiz dakika boyunca neredeyse dört işlemci çekirdeğini meşgul tutarken bunun üçte birini ortalıyor - bu yüzden fark donanım değil, istemci. Her iki istemci de yük için aynı ağ baytlarını çekti. Newsbin, CMCE, Inc.'in tescilli bir markasıdır; istemci DJI Interprises, LLC tarafından yayımlanır.
Sayım
Ağustos 2026'da çok daha büyük bir popülasyonda yeniden tartıldı. Aşağıdaki Temmuz sayımı iki grubu okudu; arkasındaki dizin şimdi 114 grupta 13,2 milyon sürüm ve 174,7 TB tutuyor, ve karışım hareket etti - 7z arşivler baytların %2'sinin altından büyük bir paya çıktı. O popülasyonda yeniden ölçülünce, tam sürüm baytlarının yaklaşık %95'i tek geçişten geçiyor (popülasyonu dört ayrı şekilde dilimlemede %94,3 ile %96,3 arasında), ve gerçekten önemli olan niteleyici arşiv biçimi değil, parola: baytların yaklaşık üçte biri, hangi istemciyi çalıştırırsanız çalıştırın, herhangi bir çıktı üretmek için bir parolaya ihtiyaç duyuyor. Temmuz anlık görüntüsü, olduğu anlık görüntü olarak aşağıda kalıyor.
Temmuz sayımı için en yoğun iki film ve dizi grubunda 890.852 sürüme, 1,6 milyon dosyaya ve 79,6 TB'a baktık, sonra dosya adlarının yalnızca ima ettiğini doğrulamak için bin gerçek gönderinin arşiv başlıklarını çekip okuduk. Gönderi başına değil bayt başına sayıldı, çünkü bir milyon küçük dosya tek bir büyük dosyadan daha az önemli.
Bu, üzerinde çalıştığımız şeyi yeniden biçimlendirdi. Verinin %1,4'ünü taşıyan bir sıkıştırma yolunu ayarlamanın pek anlamı yok, bu yüzden geri kalanı taşıyan iki yolu ayarladık.
Şifreleme de eşit dağılmıyor. Boyutla ölçekleniyor:
| Sürüm boyutu | Tüm verideki pay | Depolanmış | Şifreli |
|---|---|---|---|
| 1-5 GB | %29 | %94 | %2 |
| 5-20 GB | %39 | %97 | %2 |
| 20-60 GB | %20 | %67 | %33 |
| 60 GB üstü | %12 | %51 | %49 |
Sıradan indirmeler neredeyse her zaman düz depolanmış arşivler. Büyükler depolanmış ile şifreli arasında yazı-tura. Depolanmış biçim, bu sayfadaki her güncel tablonun yarıştırdığı biçim; şifreli biçimin disk hikayesi kendi bölümünde aşağıda ölçülüyor.
Hasarlı gönderi · 24 Ağustos 2026'da yeniden yarıştırıldı, her derleme güncel
Makaleler süresi dolar, sunucular onları sessizce düşürür, yüklemeler eksik iner - ve hasar, istemciler arasındaki farkın en geniş olduğu yer, bu yüzden nzbfast v1.2.2 dahil her istemcinin en yeni derlemesinde kendi ayağını alıyor: Avrupa'da 10 GbE kutu, beş sağlayıcı, istemci başına 100 bağlantı, üç hasar düzeyinde zehirlenmiş aynı 6,5 GB sürüm, sırası dönüşümlü kolda üç tekrar, her ayak temiz dosyaya karşı bayt denetimli. 65 ayaktan 63'ü bayt-özdeş döndü; özdeş dönmeyen iki tanesi aşağıda adlandırıldı, çünkü onlar da birer sonuç.
| doğrulanmış, kullanılabilir bir dosyaya süre (3'ün ortalaması) | 60 ölü makale | 20 ölü | 5 ölü |
|---|---|---|---|
| nzbfast 1.2.2 | 13,0 s | 10,0 s | 8,7 s |
| nzbfast 1.2.2, erken onarım kapalı | 29,3 s | 19,0 s | 12,3 s |
| NZBGet 26.3-testing | 33,0 s | 23,7 s | 23,0 s |
| SABnzbd 5.1.1 | 48,0 s¹ | 28,0 s | 24,3 s |
| rustnzb 1.4.5 | 107,3 s² | 51,3 s | 47,0 s |
| Weaver 0.7.8 | bitmedi³ | bitmedi³ | 194,0 s |
Hasarlı gönderi burada neden hızlı. Bir makale eksik olduğunda, bir istemci normalde her sunucu onu reddedene kadar sırayla bir sonraki sunucuya sorar - her reddin onlarca milisaniyeden birkaç saniyeye kadar sürdüğü, indirmenin sıfırda oturduğu seri bir yürüyüş. nzbfast sormayı bırakır: elde bulunan eşlik verisi hâlâ eksik olanı kapsar kapsamaz, yürüyüşü bitirmek yerine hemen onarır. Bu ikinci satır - aynı ikili dosya bu davranış kapatılmış haliyle hasar düzeyine göre 1,4 ile 2,3 kat daha yavaş - ve ayak, düzeneğin her etkin kolda devreye girdiğini ve kapalı bir kolda hiç girmediğini doğruladı. En yakın rakibe karşı fark 2,4 ile 2,7 kat, dokuz tekrar çiftinden hiçbirinde çakışma olmadan.
Fark en genişini diskte açıyor, ve bu onarım hilesi değil. Tamamlanan her kol aynı 6,48 GB dosyayı üretti; bizimki bunu yaparken 6,2-6,8 GB disk G/Ç'si taşıdı, NZBGet 12,7-18,5 GB, SABnzbd 13,9-20,3 GB ve rustnzb 12,8-13,1 GB. Bu tek geçişli boru hattı - kapatılmış satır da aynı 6,2 GB'ı taşıyor - bu yüzden hasarlı ve hasarsız gönderilerde aynı biçimde tutuyor.
¹ SABnzbd'nin en ağır hasarda üç ayağı 43, 41 ve 60 s koştu - özdeş girdilerde gerçek bir yayılma, bu yüzden ortalama verildi ve aralık belirtildi. ² rustnzb 1.4.5 her ayağı bayt-doğru teslim etti, ve bedeli güvenilirlik değil işlemci süresinde: en ağır hasarda 107 s'lik saate karşı yaklaşık 1.620 CPU-saniyesi - neredeyse tüm ayak boyunca meşgul on beş çekirdek - aynı onarılmış çıktının bize yaklaşık 50 CPU-saniyesine mal olduğu yerde. ³ Weaver, iki daha ağır hasar düzeyinde 20 dakikalık kesim süremiz içinde 6,5'in 1,5 GB'ını ve 4,9 GB'ını taşıdı - onu yarıştıran üç ayrı gecedeki üç ayağın da paylaştığı aynı bitmeme; kesim süresi bizim, bitmeme ise sonuç. 5 ölü makalede üçünde de doğru biçimde tamamladı. Oradaki işlemci bedeli kendi hikayesi: 194 s'lik ayak için yaklaşık 2.325 CPU-saniyesi, bizim 20'mize karşı.
24 Ağustos 2026'da ölçüldü, her derleme güncel: nzbfast v1.2.2 (sürüm etiketinin ta kendisi), NZBGet 26.3-testing (20 Ağustos derlemesi), SABnzbd 5.1.1, rustnzb 1.4.5, Weaver 0.7.8. Bir süreklilik kolu, önceki gecenin nzbfast derlemesini bu aynı ayak içinde yarıştırdı ve her senaryoda v1.2.2'nin bir saniye içine indi, bu yüzden burada hiçbir şey şanslı bir geceye binmiyor; ve rakip yapılandırmaları önceki ayaktan yalnızca uygulama yolunda ayrılıyor, ayak koşmadan önce anahtar anahtar denetlendi.
Dürüst sütun
Bu bölüm, bir rakibin kazandığı ayaklar için var, ve düzenlenmiş değil, her ayakta yeniden ölçülüyor: kaybettiğimiz her şey, adlandırılmış olarak, onu gösteren tablonun yanına buraya gelir. Güncel derlemede, bu ayakta, hız kaybından yoksun - bunun memnun olunacak değil dikkatli olunacak bir şey olduğu, bu yüzden geride kalan alışverişler aşağıda anlatılıyor.
Kaybolmayan şey o rakamların arkasındaki alışveriş, bu yüzden bu bölüm şimdi şunu söylüyor: bağımsız araçların harcadığından daha fazla bellek harcıyoruz, ve hızlı ağır-onarım yolu en fazlasını harcıyor. Çıkarıcımız ve onarıcımız bir komut satırından bir kez çalışmak yerine canlı bir indirmenin üzerinde yürümek için inşa edildi, ve bu, mukim belleğe mal oluyor; ayrıntı bileşen tablolarının yanında. Kısıtınız tek seferlik bir iş için mümkün olan en küçük ayak iziyse, o sütunu özel araçlar kazanıyor ve bunun tersini iddia etmeyeceğiz.
Ve 23 Ağustos 2026 ayağı bir madde ekliyor, onu bir dipnotta bırakmaktansa burada listelemeyi tercih ederiz: 6,5 GB senaryoda, Weaver'ın işlemci ortancası bizimkinin %2 altında - 34,9'a karşı 35,7 CPU-saniyesi, kendi üç ayağı 34,1 ile 56,1 s arasında yayılıyor - bu yüzden buna istatistiksel bir berabere diyoruz, ve bedel tablosunda tutmadığımız tek hücre olarak işaretli duruyor. Aynı ayaktaki 34 GB senaryoda CPU'muz açık ara en düşük.
Onu RAM'den mahrum bırakın · 24 Ağustos 2026'da nzbfast 1.2.2 üzerinde ölçüldü
Yukarıdaki koldaki aynı 87 GB iş, 2 GB, 1 GB ve 256 MB'lık sabit bellek bütçelerinde yeniden koşuldu - bir 8 GB kutuda, bir 4 GB kutuda ve bir 2 GB'lık NAS'ta otomatik boyutlandırıcının seçeceği şey. Her ayak özdeş bayt-denetimli dosyayı üretti, ve bellek sütunu bütçeyi izledi, işi asla:
| 87 GB iş, 10 GbE | otomatik | 2 GB bütçe | 1 GB bütçe | 256 MB bütçe |
|---|---|---|---|---|
| kullanılabilir dosyaya süre | 94 s | 87 s | 94 s | 102 s |
| zirve bellek (RSS) | 286 MB | 558 MB | 336 MB | 284 MB |
| disk G/Ç (GiB) | 73,2 | 73,2 | 72,8 | 72,7 |
Sürüm derlemede bütçe başına tek ayak, altı-kollu ayakla aynı çıktı sağlama toplamına karşı geçitli. En sıkı bütçe duvarın yaklaşık %9'una mal oluyor, ve yalnızca bu hat 10 GbE olduğu için - dökülen bloklar yalnızca hat diski geçtiğinde zaman kaybettirir, bu yüzden tipik bir ev bağlantısında küçük bir bütçe neredeyse bedava. 87 GB'lık bir indirme dahil tüm merdiven 0,3-0,6 GB bellekte sığıyor; fabrika ayarlarında iş 286 MB'ta koştu. Başka hiçbir istemci sabit, süreç genelinde bir bellek bütçesi sunmuyor; en yakın şeyler önbellek boyutu kadranları, ve aşağıdaki ayak onların bedelini ölçüyor.
Kelepçe, alanın kendi kadranlarına karşı yarıştırıldı. 34 GB senaryoda (23 Ağustos 2026, 1 Gbit kutu, beş sağlayıcı, 30 ayaktan 30'u bayt-doğru), NZBGet'i eşdeğer bir önbellek kelepçesine tutmak CPU'sunu ikiden fazla artırdı (215,5'ten 453,0 CPU-saniyesine, 2,10 kat), zirve belleğinde %52'lik bir kesinti satın almak için. SABnzbd'nin kelepçesi neredeyse bedavaydı ama ayak izinin yalnızca bir kısmına ulaştı. rustnzb'nin önbellek ayarı yarıştırılan derlemede süsten ibaretti, ve Weaver'ın hiç bellek kadranı yok, bu yüzden ikisi de tutamayacakları bir bütçede puanlanmak yerine referans sütunları olarak kelepçesiz koştu. Aynı ayağın bizim tarafımız, aynı şeyi 2,5 kat boyutta söyleyen yukarıdaki v1.2.2 merdiveniyle aşılmış durumda: bütçe asla bağlayıcı kısıt değil, çünkü tek geçiş baştan bu kadar az tutuyor.
Boş alan · megabayta kadar ölçüldü
Yazıp-sonra-açan bir istemci, arşiv birimleri ve açılmış yük için aynı anda yere ihtiyaç duyar, bu yüzden bir iş indirmenin kabaca iki katı boş alan olmadan başlamaz. Tek geçiş yükün kendisine ihtiyaç duyar - ve bu ayak, her istemci başarısız olana kadar hedef birimi küçülterek ne kadar az fazlasına ihtiyaç duyduğunu ölçtü. nzbfast'in yanıtı bir oran değil, yaklaşık 50 MB'lık sabit bir pay, ve bu 6,5 GB'lık bir işten 34 GB'lık bir işe kadar tutuyor.
| işin ihtiyaç duyduğu boş alan | 6,5 GB iş | 34 GB iş |
|---|---|---|
| nzbfast 1.2.2 | çıktı + 48,6 MB | çıktı + 51,0 MB |
| NZBGet 26.3-testing | ~yükün 2,1 katı | ~2,1 katı (çıktının 37,6 GB üstü) |
| SABnzbd 5.1.1 | ~yükün 2,1 katı | ~2,1 katı (çıktının 37,6 GB üstü) |
| rustnzb 1.4.5 | ~yükün 2,25 katı | ~2,25 katı (çıktının 42,7 GB üstü) |
| Weaver 0.7.8 | ~yükün 2,25 katı | ~2,25 katı (çıktının 42,7 GB üstü)¹ |
20 çekirdekli bir Apple Silicon kutuda, 1 Gbit hatta, beş sağlayıcıda, her sınırda üç tekrarla ölçüldü, tamamlanan her ayak bayt denetimli - rakip satırlar 22-23 Ağustos 2026 (Weaver'ın 34 GB hücresi 24 Ağustos'ta yeniden koşuldu, dipnot 1)'da, ve nzbfast satırı 24 Ağustos'ta v1.2.2 sürüm derlemesinde yeniden kesildi, bu da her iki sınırı da tam olarak yeniden üretti, iki senaryoda 12 ayaktan 12'si hemfikir. Hücrelerimiz ölçülmüş bir taban: iş 48,6 MB ve 51,0 MB payla 3'te 3 tamamlanıyor, ve bunun yaklaşık 17 MB altında 3'te 3 reddediyor - bu yüzden taban her iki yönde de gerçek. İşin gerçekte tuttuğu şey çıktının yaklaşık 3 MB üstünde yerleşiyor; pay, boru hattının son anlarının bedelini öder, asla bir ikinci kopyanın değil. Rakiplerin hücreleri, 6,5 GB işteki ölçülmüş tabanları ve 34 GB'takinde aynı oranda doğrulanmış bir yeterlilik (o oranda tam olarak 3'te 3 bayt-doğru); onların merdivenini daha büyük boyutta daha aşağı yürümedik, bu yüzden oradaki gerçek tabanları orandan biraz aşağıda olabilir, ve bunu kendi lehimize yuvarlamak yerine söylüyoruz.
Tükenmenin gerçekte nasıl göründüğü sayı kadar önemli. Tabanının 17 MB altında nzbfast, bir yazmada diskin reddiyle karşılaşır, "boş disk alanı yok" diyerek temiz durur, inen her şeyi güncel tutulmuş olarak korur, ve bir yeniden deneme yeniden çekmeden devam eder - tuttuğunuz bir parça, başarısız bir iş değil. ¹ Weaver'ın büyük-senaryo hücresi 24 Ağustos'taki bir tekrarla çözüldü: üç ayağın üçü de aynı ~2,25 katta bayt bakımından doğru, her biri ilk denemenin iyi ayağından hızlı ve boş alan bayta kadar aynı. İlk denemede, 23 Ağustos'ta, üç ayağından ikisi 60 GB'dan fazla boş alan hâlâ varken tek haneli MB/s'de takılmış ve turun 40 dakikalık kesim süresine çarpmıştı. O takılmalar geri gelmedi ve düzeneğin takılma ölçümü tekrarın üç ayağında da devredeydi ve sessizdi; bu, eksik bir ölçüm değil olumlu bir ölçümdür. Onlara neyin yol açtığı hâlâ bilinmiyor ve temiz bir tekrar bir teşhis değildir: bu oranda artık altı ayak var, dördü tamamlandı ve iki başarısızlık da ilk gecedeki tek bir 80 dakikalık pencereden geliyor.
Çarpanın sonucu
Herhangi bir sürücü için, indirme, doğrulama ve açma boyunca sürdürebileceğiniz hat hızı, sürücünün gerçek hızının istemcinin G/Ç çarpanına bölümüdür. Yukarıdaki bedel tabloları bizimkini yaklaşık 1,0 katta ölçüyor - her bayt diski yaklaşık bir kez geçiyor - ve her rakibi bayt-eşdeğeri çıktı için 2,0 ile 3,0 kat arasında. Yani aynı sürücü, nzbfast altında bir aşamalı istemci altında olacağının iki ile üç katı hat hızını sürdürüyor. Yukarıdaki ölçülmüş tablolardan alınan çarpanlarla aritmetik:
| hat | yük hızı | ~1,0 katımızda gereken disk | 2,2 katta | 3,0 katta |
|---|---|---|---|---|
| 100 Mbit | 12,5 MB/s | ~13 MB/s | ~28 MB/s | ~38 MB/s |
| 1 Gbit | 125 MB/s | ~130 MB/s | ~275 MB/s | ~375 MB/s |
| 5 Gbit | 625 MB/s | ~650 MB/s | ~1.400 MB/s | ~1.900 MB/s |
| 10 Gbit | 1,25 GB/s | ~1,3 GB/s | ~2,75 GB/s | ~3,75 GB/s |
Bu sütunları sürücülerin gerçekte sürdürdüğüyle karşılaştırın. 5400/5900 rpm bir NAS sürücüsü dış izlerinde kabaca 100-140 MB/s tutar, dolarken 80-100'e doğru çürür - yani gigabit bile en yavaş sınıfta 1,0 katta zaten sınırda, ki bunu açıkça söylüyoruz, ve 2-3 katta erişilemez. 7200 rpm bir sürücü kabaca 160-220 MB/s tutar. Bir SATA SSD'nin ~550 MB/s'si, 2,2 katlık bir istemciyi 2 Gbit'e yakın bir yerde tavanlar ve 1,0 katta yaklaşık 3,5-4 Gbit taşır. NAS yuvalarına yıllardır satılan SMR sürücüler, özellikle aşamalı örüntü için en kötü durum: geri-okumalı sürdürülen yazma, sürücünün yeniden-shingling önbelleği tükendiğinde onlarca MB/s'ye çökebilir. Ve çok gigabitlik bir hat, aynı duvarın daha yükseğidir: 10 Gbit, 2-3 kat bir çarpanda 2,75-3,75 GB/s sürdürülen talep eder, her SATA sürücünün ve büyük bir işin hızlı önbellek bölgesini aştığında pek çok NVMe sürücünün ötesinde, 1,0 katta ise ~2 GB/s'lik bir SSD hat hızına ferah bir payla yetişirken.
İddia değil, kısılmış bir diskte ölçüldü. Bir diski 150 MB/s'de kısıtladık - 5400 rpm sınıfı bir hız - ve aynı indirmeyi iki kez koştuk: bir kez tek geçiş, bir kez aşamalı örüntünün yazma, geri-okuma ve açmasıyla. Tek geçişli kol, 1 Gbit hatta kendi kısıtsız hızının %0,2 altında, 109,9 MB/s'de yetişti; aşamalı örüntü hattın %54'ü olan 59,0 MB/s'ye düştü. Hat sınırı olmadan parametrik olarak taranınca, tek geçişli kol her kısıtta diskin sunduğunun %97'sini aldı (300 MB/s'lik bir kısıtın 290,7 MB/s'sini, 150'nin 145,6'sını) ölçülen 1,00-1,03 kat aygıt G/Ç'sinde, ve aşamalı örüntü ölçülen 3,02 katta %47-48'ini aldı - oran kısıtlar arasında sabit, ki bu yukarıdaki aritmetiğin bir ölçüm olarak yeniden üretilmesi. 32 ayak, her çıktı bayt denetimli.
Ve bir kez de gerçek donanımda, kısıtsız. Test filomuzdaki en yavaş sürücü, en hızlı test kutumuzun 5,97 sürdürdüğü yerde 0,99 GB/s yazma sürdüren, yerel-Windows 10 GbE bir makinedeki bir TLC sistem diski. Yukarıdaki 87 GB Windows ayağı onun üzerinde koştu: tek geçişli kol, 105 s'lik duvarı tutmak için o 0,99'un yaklaşık 0,73 GB/s'sine ihtiyaç duydu - filonun en kötü diskinde harcanacak pay - ki bu, yukarıdaki tablonun sağ üst hücresinin kısıtlı değil gerçek bir sürücüye inmesi. Ve filonun hızlı ucu, tartışmayı öteki uçtan kapatıyor: aynı 87 GB iş, 10 GbE'de tam hızda, 1,24 GB/s'lik bir sürücüde ve 5,97 GB/s'lik bir sürücüde aynı 70-71 saniyede bitiyor - 4,8 kat daha hızlı bir disk duvarı sıfır hareket ettiriyor, çünkü 1,0 katlık bir çarpanda hat, disk tükenmeden çok önce tükeniyor. Bir aşamalı istemci için o iki sürücü farklı dünyalar.
O düzenek ne, ne değil. Disk, 32 çekirdekli bir Apple Silicon kutuda bir sanal makine içindeki bir işletim sistemi G/Ç denetleyicisiyle kısıtlandı, ve aşamalı kol, bir aşamalı istemcinin yaptığı gibi yazacak, geri okuyacak ve yeniden yazacak biçimde uyarlanmış kendi ikili dosyamız. Düzenekte hiçbir rakip koşmadı - düzeneğin sahte hattı, bir rakibin de tek geçişte işleyeceği düz dosyalar sunuyor, bu yüzden birini ona yöneltmek hiçbir şey göstermezdi - bu da yukarıdaki tabloyu, rakiplerin çarpanları yukarıdaki gerçek beş istemcili tablolardan alınmış, tek bir ölçülmüş çiftle demirlenmiş bir aritmetik yapıyor, ve bunu kasıtlı olarak öyle etiketliyoruz. Onunla birlikte üç dürüstlük notu geliyor. Denetleyici okuma ve yazmayı ayrı ayrı bütçeliyor, ki bu aşamalı kolu kayırır; tek bütçeli bir aygıtta, ki bu her dönen disk, payı daha da düşük olurdu. Aşamalı çarpan, birimler geri-okumada hâlâ sayfa önbelleğindeyken yaklaşık 2 kat ve değillerken 3 kat, bu yüzden normal bir makinedeki büyük bir iş 3 kat ucunda oturuyor. Ve yüzlerce birim dosyasını yazmanın, geri okumanın ve silmenin arama bedeli - sırayla bir kez yazılan tek bir dosyaya karşı - trafiğin biçiminden bir tartışma, henüz bir ölçüm değil: bunun için dönen bir disk gerekiyor, ve biz onu bir tanesi bulunana kadar bir tartışma olarak aktarıyoruz.
İkinci biçim · büyük-sürüm yazı turası
60 GB üstü gönderilen her şeyin yarısı şifreli bir arşiv, ve bu aşamalı istemcilerin en çok ödediği biçim: kilitli veri yazılmalı, geri okunmalı, kilidi açılmalı ve yeniden yazılmalıdır. nzbfast her parçanın kilidini geldikçe açar, bu yüzden kilitli veri diske hiç ulaşmaz. Gerçek bir 94 GB'lık şifreli sürümde ölçüldü:
| 94 GB şifreli sürüm, tek geçiş | ölçülen |
|---|---|
| Diske yazılan | 90,1 GB - kabaca yük, bir kez |
| Aynı anda kullanılan en fazla disk | 89,6 GB - çıktı dosyasının kendisi |
| İndirmeden sonraki duraklama | 0,6 s |
Aynı anda kullanılan en fazla disk, istediğiniz dosyanın boyutu. Şifreli bir indirme sırasında nzbfast'in ikinci bir kopya için yere ihtiyaç duyduğu bir an yok, ve indirme çubuğu dolduktan sonra bir kilit-açma geçişi yok - bir aşamalı istemci bu üç satırın hepsinde kabaca iki katını öder, ki bu yukarıdaki bedel tablolarının her başka biçimde ölçtüğü aynı 2 kat.
Her beş saniyede bir örneklenen, bir indirme sırasında kullanımdaki disk. Düz çizgi nzbfast; sonunda 166 GB'a tırmanan çizgi, kilitli kopya diskteyken bitmiş dosya için ödeyen yaz-sonra-kilit-aç örüntüsü - aynı sürüm üzerinde her iki örüntüyü de çalıştırarak ölçüldü.
İç içe gönderiler · 28 Ağustos 2026 tarihinde ölçüldü
Yayımlananların çoğu bilerek açılması zor hâle getirilir. Gerçek dosya adı ikinci bir arşivin, bazen üçüncüsünün içine gömülür, bazen her katmanda başka bir biçimde durur; böylece gönderi içeriği hakkında olabildiğince az şey ele verir. Üstüne bir de gönderiler hasarlı ulaşır: makaleler süresi dolup düşer, yüklemeler eksik iner ve hiçbir şey açılmadan önce kurtarma verisinin kullanılması gerekir. Bir indirici ya bu zinciri sizin için baştan sona yürür ya da elinize bir klasör dolusu arşiv verip durur.
Bu yüzden tam olarak bunu yalıtan on biçim kurduk, güncel her istemciyi bunlara karşı yarıştırdık ve sonra karşılaştırmaların genelde atladığı şeyi yaptık: bir istemci erken durduğunda işi standart araçlarla elle bitirdik ve onun da süresini tuttuk. Çabuk pes eden bir istemci, size bıraktığı iş sayılana kadar hızlı görünür.
| on paketlenmiş ve hasarlı biçim | kendi başına bitirdi | ancak elle onarımdan sonra | dosyaya hiç ulaşamadı |
|---|---|---|---|
| NZBGet 26.3 | 10 üzerinden 2 | 8 | 0 |
| SABnzbd 5.1.2 | 10 üzerinden 5 | 3 | 2 |
| nzbfast 1.2.4 | 10 üzerinden 10 | 0 | 0 |
| rustnzb 1.4.5 | 10 üzerinden 7 | 1 | 2 |
| Weaver 0.7.8 | 10 üzerinden 1 | 1 | 8 |
Onunu da yardımsız bitiren tek istemci nzbfast. NZBGet de her biçimde dosyaya ulaşıyor, ama bunların sekizinde 16 tur elle onarım ve açma gerekiyor. SABnzbd beşini yardımsız bitiriyor, ikisine elle bile ulaşılamıyor. Weaver dosyaya ikisinde ulaşıyor.
Bu örüntü rastlantı değil. nzbfast'in geçtiği, diğerlerinin geçemediği biçimler paketlenmiş ve hasarlı olanlar: arşiv içinde arşiv, zincirin ortasında biçim değişimi, beş katmanlı bir zincir ve hepsinden önemlisi kendi kurtarma verisiyle birlikte bozuk gelen bir arşiv. Bu sonuncusunda dört istemci dıştaki kümeyi kusursuz açıyor, bozuk arşivi onu onaracak kurtarma kümesiyle birlikte elinize verip duruyor.
İstemcilerin aynı işi bitirdiği yerde fark küçük değil. Aşağıdakiler, yaygın dört istemcinin de ulaştığı yedi biçim; her birinin ihtiyaç duyduğu elle onarım dâhil:
| dördünün de ulaştığı yedi biçim | kullanılabilir dosyaya kadar geçen süre | diske yazılan |
|---|---|---|
| NZBGet 26.3 | 51,2 s | 29,83 GB |
| SABnzbd 5.1.2 | 52,3 s | 32,27 GB |
| nzbfast 1.2.4 | 10,3 s | 11,68 GB |
| rustnzb 1.4.5 | 41,8 s | 27,75 GB |
Dört ila beş kat daha hızlı ve yazılan baytın yarısından azıyla. Disk rakamı indirmeden sonra da önemini koruyan rakamdır: o sütundaki her gigabayt, diskinizin kabul etmek zorunda kaldığı bir gigabayttır; işi ara belleğe alan istemciler içeriği yazar, geri okur ve yeniden yazar.
Önde olmadığımız yerler ve bunu söylemeye neden değer. On biçimin dördünde bir rakip indirmenin kendisi sırasında nzbfast'ten daha az bayt yazıyor. Her seferinde daha azını yaptığı için: bozuk iç arşiv biçiminde NZBGet bizim 4,65 değerimize karşılık 3,29 GB yazıyor, ardından onarım turu 2,91 daha yazıyor ve bizim 4,65 değerimize karşılık 6,20 GB ile bitiriyor. Diğerlerinde en az yazan istemci, dosyaya hiç ulaşamamış olandır. Küçük bir disk rakamı her zaman tutumluluk değildir.
Bunlar yetenek testleridir, hız testleri değil. İçerikler küçüktür ve yerel bir bağlantı üzerinden bellekten sunulur; yolda ne sağlayıcı ne de ağ vardır, dolayısıyla buradaki hiçbir şey indirme hızıyla sınırlı değildir ve mutlak saniyeler aynı biçimlerin gerçek dünyada alacağı süreden çok daha kısadır. Bir biçimin elle iş gerektirip gerektirmediği, biçimin ve istemcinin bir özelliğidir ve doğrudan aktarılır. Saniyeler, aynı işi yapan istemcileri karşılaştırır; gerçek bir işin ne kadar süreceğini öngörmez.
Biçim başına tüm sonuçlar, her biçimin ne olduğu ve yöntem iç içe arşivler veri sayfasında.
Neden önemli
Flash depolama, üzerine yazılarak yıpranır. 94 GB'lık bir sürüm, nzbfast altında sürücünüze yaklaşık 90 GB'lık yazmaya mal olur; aşamalı çalışıp açan bir istemci altında aynı sürüm kabaca iki katına mal olur. Sabit diskli bir NAS'ta tek-geçiş biçimi ayrıca her şifreli indirmenin sonundaki uzun tek-iş-parçacıklı geçişi de kaldırır - donanım hızlandırmalı kilit açma özellikli hızlı 32 çekirdekli bir iş istasyonunda 20 saniye ölçülen, ve bunun gerçekte üzerinde çalıştığı düşük güçlü makinelerde buna karşılık gelen şekilde daha uzun bir duraklama. Küçük sayıyı aktarıyoruz çünkü ölçtüğümüz olan bu.
Bileşen kıyaslamaları
Onarım (PAR2) ve açma (RAR) paketlenmiş üçüncü taraf ikili dosyalar değil kendi yerli kodumuz, bu yüzden onları da bir okuyucunun gerçekten sahip olabileceği dört makinede, özdeş korpuslarda özel araçlara karşı bağımsız olarak yarıştırıyoruz. Bir süre yalnızca çıktı kaynak yüke bayt-eşdeğerse sayılır: aşağıdaki her RAR rakamı kaynağa karşı sha256 ile denetlendi, ve her onarılmış dosya el değmemiş sete karşı.
Bu tablonun önceki ayağı
biçim başına 100 MB ile 200 MB kullandı, ki bu bir hataydı: yaklaşık 28 ms'lik
süreç başlatma, depolama kolunun %40'ıydı, ve ürettiği sıralama gerçekçi bir
boyutta ayakta kalmıyor. Bu ayak biçim başına 1 GB yük, ve birkaç yanıtı
değiştiriyor, kimisi ters yönde. Arşivler resmi rar 7.23 ile
oluşturuluyor, böylece hiçbir araç kendi kodlayıcısından gelen girdide
yargılanmıyor, ve aynı baytlar her makinede yarıştırılıyor.
Yükün içinde ne olduğu göründüğünden
daha önemli. Blok kopyalarından oluşan bir yük, her sıkıştırılmış biçimi bir
bellek-kopyalama kıyaslamasına çevirir; düz metinden oluşan bir yük onu bir
yazı-tanıma-ve-Huffman kıyaslamasına çevirir; ikisini de ölçtük ve kazananda
hemfikir değiller. Bu yüzden dört sıkıştırılmış biçim eşit üçte-bir metin,
yapılandırılmış kayıt ve sıkıştırılamaz bayt kullanıyor, ve o aralığın uçlarındaki
iki biçim kasıtlı olarak ayrı kollar: store sıkıştırılamaz ve
repetitive neredeyse tümüyle eşleşme. Oluşturucu ve düzenek depoda,
bu yüzden korpus bayt bayt yeniden inşa edilebilir.
1.2.2 motorunda 23 Ağustos 2026'da yeniden yarıştırıldı, ve tarama ayakta. Bir okuyucunun en çok tarttığı üç araç - bizimki, unrar 7.23 ve rarpar 0.2.5 - 32 çekirdekli masaüstünde sürüm motorunda (yarıştırılan çıkarma kodu 1.2.2 etiketine bayt-eşdeğer) yeniden yarıştırıldı, altı iç içe tur, araç başına asgari, her ayağın çıktısı yük manifestine karşı denetlendi. Saniye, düşük olan iyi:
| 1 GB yük, 32 çekirdek (23 Ağu 2026) | store | 400 küçük dosya | solid | repetitive | büyük, 3 birim | encrypted | 128 MiB sözlük |
|---|---|---|---|---|---|---|---|
| nzbfast 1.2.2 | 0,119 | 0,474 | 1,515 | 0,120 | 1,118 | 1,137 | 1,146 |
| unrar 7.23 | 0,190 | 2,032 | 1,784 | 0,139 | 1,655 | 1,846 | 1,420 |
| rarpar 0.2.5 | 0,206 | 2,563 | 2,395 | 0,237 | 1,852 | 1,857 | 1,725 |
Yedi biçimin tümü bizim, hem asgaride hem ortancada, unrar'a karşı 1,16 ile 4,29 kat arasında. Bu süreler aşağıdaki daha geniş tabloyla hücre hücre karşılaştırılabilir değil - düzenek o tablonun ayaklarından beri gözden geçirildi ve tur sayıları farklı - bu yüzden her tabloyu kendi içinde okuyun. Daha geniş tablo kendi tarihlerini ve altı-araçlı alanını koruyor, ve nzbfast sütunu 1.2.2'nin gönderdiği motoru anlatıyor: yukarıdaki yeniden yarış, güncel motoru o tablonun derlemesiyle yedi biçimin tümünde eşit ölçtü, donanım komut sayılarıyla çözüldü (aynı duvar için %0,14 daha az), bu yüzden o hücreler aşılmış bir derlemenin sayıları güncel bir etiket takınmış değil. Bu yeniden yarış, kurulum bölümündeki A/A kuralının kazanıldığı yer de. Aynı günkü bir geçiş önce bir biçimi kendi önceki derlememize karşı küçük bir gerileme olarak bildirdi, ve okuma her iki kol sırasını da koşturarak ayakta kaldı. Bir A/A kontrolü - aynı ikili dosyanın kendisiyle bayt-eşdeğeri bir kopyasına karşı yarıştırılması - düzeneğin ilk koşan kola yaklaşık %1,5'lik bir ceza verdiğini gösterdi: özdeş ikili dosya, ilk yuvadan yalnızca 15 turdan 6'sını kazandı, ve sıraları değiştirmek, her zaman ilk olana inen bir yanlılığı iptal etmiyor. Donanım komut sayıları, düzeneğin çözemediği soruyu çözdü - daha yeni derleme aynı duvar saati için %0,14 daha az komut çekiyor, yani gerileme yoktu. Şimdi yayımladığımız kendi-derlememiz-kendi-derlememize-karşı her karşılaştırma o kontrolü taşıyor.
Alanın tümü, saniye, düşük olan iyi.
3'ün en iyisi, araçlar her tur içinde bloklar halinde değil iç içe koşuldu, çıktı
her tek koşuda kaynak yüke karşı denetlendi. Yanlış bayt üreten bir araç bir
doğruluk notu alır, asla hızlı bir süre değil. rarpar, Weaver'ın kendi
RAR ve PAR2 kodu, bd87611'de kaynaktan derlenmiş; sürümü değil taahhüdü
sabitliyoruz çünkü paketleri üç farklı sürüm numarası taşıyor.
| saniye, biçim başına 1 GB | store | 400 küçük dosya | solid | repetitive | büyük, 4 birim | encrypted | 128 MiB sözlük |
|---|---|---|---|---|---|---|---|
| Üst düzey masaüstü, 32 çekirdek | |||||||
| nzbfast | 0,21 | 0,47 | 1,26 | 0,14 | 1,08 | 1,09 | 1,07 |
| unrar 7.23 | 0,21 | 2,02 | 1,62 | 0,16 | 1,61 | 1,82 | 1,37 |
| rarpar | 0,23 | 2,55 | 2,22 | 0,26 | 1,75 | 1,74 | 1,64 |
| unar 1.10.7 | 0,60 | 6,40 | 5,29 | 0,69 | 5,41 | 6,88 | 4,03 |
| bsdtar | 0,34 | 13,67 | 11,48 | 1,86 | yanlış çıktı² | şifreleme yok³ | büyük sözlük yok⁴ |
| 7-Zip | 0,30 | desteklenmiyor¹ | desteklenmiyor¹ | desteklenmiyor¹ | desteklenmiyor¹ | desteklenmiyor¹ | desteklenmiyor¹ |
| Eski masaüstü, 20 çekirdek | |||||||
| nzbfast | 0,16 | 0,57 | 1,83 | 0,15 | 1,50 | 1,51 | 1,40 |
| unrar 7.23 | 0,25 | 2,48 | 2,31 | 0,20 | 2,28 | 2,49 | 1,84 |
| rarpar | 0,28 | 3,15 | 3,00 | 0,31 | 2,26 | 2,26 | 1,97 |
| unar 1.10.7 | 0,67 | 7,49 | 6,93 | 0,85 | 6,85 | 8,49 | 5,29 |
| bsdtar | 0,33 | 15,58 | 13,97 | 2,18 | yanlış çıktı² | şifreleme yok³ | büyük sözlük yok⁴ |
| 7-Zip | 0,33 | desteklenmiyor¹ | desteklenmiyor¹ | desteklenmiyor¹ | desteklenmiyor¹ | desteklenmiyor¹ | desteklenmiyor¹ |
| Dizüstü, 14 çekirdek / 20 iş parçacığı, Windows⁵ | |||||||
| nzbfast | 0,35 | 1,05 | 2,92 | 0,32 | 2,32 | 2,22 | 2,04 |
| unrar 7.23 | 0,63 | 6,37 | 6,14 | 0,62 | 2,92 | 3,33 | 2,44 |
| rarpar | 0,74 | 11,58 | 9,76 | 0,54 | 2,72 | 2,85 | 2,38 |
| unar | CLI yok⁵ | CLI yok⁵ | CLI yok⁵ | CLI yok⁵ | CLI yok⁵ | CLI yok⁵ | CLI yok⁵ |
| bsdtar | 0,81 | 16,72 | 15,14 | 1,13 | yanlış çıktı² | şifreleme yok³ | büyük sözlük yok⁴ |
| 7-Zip | 0,76 | 5,45 | 5,79 | 0,65 | 4,21 | 4,13 | 2,51 |
| Dizüstü, Apple M5 Max⁶ | |||||||
| nzbfast | 0,10 | 0,40 | 1,15 | 0,10 | 0,98 | 0,99 | 0,94 |
| unrar 7.22 | 0,16 | 1,94 | 1,87 | 0,15 | 1,75 | 1,91 | 1,52 |
| rarpar | 0,11 | 2,09 | 1,97 | 0,18 | 1,54 | 1,55 | 1,33 |
Alanın rekabet edemediği yer, ve
sebebi. ¹ Burada yarıştırılan 7-Zip, her sıkıştırılmış biçimi
ERROR: Unsupported Method ile reddeden ve macOS'ta yalnızca depolanmış
olanı okuyan Homebrew paketi. Bu sayfanın önceki bir sürümü bunu 7-Zip'in macOS
derlemesine bağlamıştı, ki bu yanlıştı: Homebrew onu ücretsiz olmayan unRAR
kodeği olmadan derliyor, oysa 7-zip.org'un gönderdiği macOS derlemesi kodeği
taşıyor ve Windows derlemesi gibi yedi biçimin de kodunu çözüyor. 14 Ağustos
2026'da yeniden ölçüldü. 7-Zip'i Homebrew'dan değil projeden kurarsanız, bu sütun
sahip olduğunuzu anlatmıyor. ² bsdtar'ın RAR5 çok-ciltli desteği yok ve hata
bildirmeden kesik bir dosya üretti, bu yüzden o kol yavaş bir süre değil bir
doğruluk başarısızlığı; düzeneğimiz çıktıyı denetleyerek bunu yakaladı, ki bu
çıktıyı denetlemenin neden değerli olduğu. ³ bsdtar: Encryption is not supported. ⁴ bsdtar: Declared dictionary size is not supported.
⁵ unar hiçbir Windows komut satırı aracı göndermiyor, bu yüzden dizüstü alanı beş.
⁶ M5 Max grubu, bir macOS okuyucusunun gerçekten seçeceği üç aracı yarıştırıyor -
unrar, rarpar ve biz; unar, bsdtar ve 7-Zip o makinede yarıştırılmadı.
Onun unrar'ı 7.22, orada gözetimsiz koşan en yeni derleme.
Bir istisna dışında her makinede her
biçim, ve o istisna bir berabere. Kısa-eşleşme biçimleri, kod çözücümüzdeki iki
özel şeye dayanıyor. İki ile otuz iki bayt arasında bir eşleşme, platformun
bellek-kopyalama yordamına tam bir çağrının bedelini öderdi ve çağrı kopyadan daha
pahalıydı; onun yerine sabit otuz iki baytı bir yazmaç üzerinden kopyalamak,
repetitive, solid ve 128 MiB sözlüğün - kısa eşleşmelerden
kurulu üç biçim - hepsinin birden hızlı olmasının sebebi. Ve sağlama toplamı,
yazıcının iş parçacığının üzerinde değil, ondan aşağıda akıyor. Açıkça
kazanmadığımız tek hücre, 32 çekirdekli masaüstündeki depolanmış biçim, orada
unrar ile biz salt bayt taşımadan ibaret bir kolda üç milisaniye arayla ayrılıyoruz -
bu tablonun hassasiyetinde özdeş, bu yüzden iki hücre de işaretli ve bir kayıp da
bir kazanç da değil bir berabere olarak puanlanıyor.
En büyük farkla kazandığımız biçim,
usenet'in gerçekte aynı anda yüzlercesini gönderdiği biçim: 400 küçük dosya,
unrar'a karşı 4,3× ve 4,4× ve rarpar'a karşı 5,4× ile 5,5×. Bu,
üye-başına paralellik, ve bu bir indirme kuyruğu için yazılmış bir çıkarıcı ile
bir komut satırı için yazılmış bir çıkarıcı arasındaki fark. Yukarıdaki
sayımın baytların %84'ü dediği depolanmış biçim, üç ciddi araç için neredeyse
bir berabere, çünkü o noktada herkes yalnızca bayt taşıyor.
Belirtmeye değer bir seçim. Arşivler dört iş parçacığına sabitlenmiş sıkıştırıcıyla paketleniyor. RAR'ın blok bölünmesi aksi halde paketleyen makinenin çekirdek sayısını izler, bu yüzden 32 çekirdekli bir kutu ile 20 çekirdekli bir kutu aynı girdiden farklı baytlar üretir ve makineler karşılaştırılabilir olmaktan çıkar. Onu sabitlemek, çıkarma korpusunu her yerde bayt-eşdeğer yapar, ki mesele bu, ama açmanın ne kadarının paralel koşabileceğini de sınırlar - bu yüzden en yakın iki biçim kayıpken, bu sabitlemenin sebep olup olmadığını denetlemek için onları 32 iş parçacığının tümüyle paketlenmiş arşivlere karşı yeniden yarıştırdık. Değildi: solid %4,2 gerideyken %2,4 gerisine, 128 MiB sözlük ise %6,6'dan %6,3'e geldi, sıralama her iki durumda da aynı. Her ikisi de artık sabitlenmiş korpusta, o denetimin açıklayabileceğinden daha geniş bir farkla kazanıyor.
Neden RAR4 satırı yok, ve o gönderilere
ne olur. Yukarıdaki her biçim RAR5 ya da RAR7, ki usenet bugün bunu
gönderiyor. Daha eski RAR4 arşivler hâlâ ortaya çıkıyor, ve aynı motor onları,
sıkıştırılmış ve parolalı biçimleri dahil, birimleri diske yazıp sonra açmak
yerine daha yenilerle aynı tek geçişte okuyor. Burada bir satırları yok çünkü
resmi rar 7.23 artık RAR4 oluşturamıyor, bu yüzden alanı yarıştıracak
yansız bir korpus yok; o iş bunun yerine WinRAR 3.00 tarafından yazılmış
arşivlere karşı, unrar'a karşı bayt bayt denetleniyor.
Korpus: 21 RAR birimine depolama modunda paketlenmiş 1 GiB rastgele yük, sonra %10 fazlalıkta biri 1 MiB bloklu biri 64 KiB bloklu iki PAR2 seti, sonra sabit hasar haritaları. Her koşu aynı protokolü kullanıyor: taze kopya, önbelleği ısıtmak için tüm korpusu bir kez okumak, sonra ölçmek. İç içe üç turun en iyisi; her onarılmış birim her turda el değmemiş sete karşı karşılaştırılıyor. Düşük olan iyi.
Korpus hakkında bir düzeltme, çünkü bu sayfanın önceki bir sürümü onu abarttı. Her makinenin hash ile denetlenen bayt-eşdeğeri bir korpus koşturduğunu söylemiştik. Her setin her biriminin hash'ini almak bunun 32 çekirdekli masaüstü ve tam olarak eşleşen Windows dizüstü için doğru, 20 çekirdekli masaüstü için değil olduğunu gösteriyor, o aynı biçimin farklı bir rastgele çekilişini tutuyor: aynı boyutlarda aynı 21 birim, aynı iki blok boyutu, ve aynı dosya sayısına yayılmış aynı 3, 101 ve 1.500 blokta doğrulanan hasar. Bir satır içindeki her rakam yine de o satırdaki her aracın paylaştığı baytlar üzerinde ölçülüyor, ki her karşılaştırmanın dayandığı şey bu. Ama satırlar bir girdinin dört görünümü değil, ve yük karakteri bir rakibin taramasına yaklaşık %7 değdiği için, bunu göz ardı etmek yerine belirtmeye değer.
Hangi par2 hangisi. Orijinal
par2cmdline, herkesin çatalladığı referans uygulama.
par2cmdline-turbo, ParPar'ın elle yazılmış SIMD Galois-alanı
çekirdeklerini paketleyen çatal: "turbo"nun tam olarak anlamı bu, ve orijinal
yerine turbo'nun neden ölçülmeye değer araç olduğu bu. Aşağıdaki her iki turbo
sütunu da aynı ParPar çekirdeklerini koşturuyor. İkisini ayıran şey aritmetik
değil, derleme ve bayraklar.
24 Ağustos 2026'da gönderilen derleme
güncel rakibe karşı doğrulandı. Bu tablolar 1.2.2 kesilmeden ve
par2cmdline-turbo 1.5.0'ı yayımlamadan önce (20 Ağustos 2026)
ölçüldü, bu yüzden 20 çekirdekli sütun her ikisine karşı da yeniden yarıştırıldı:
1.2.2 sürüm derlememiz turbo 1.5.0'a karşı, ayak başına iç içe üç tur, her
onarılmış dosya el değmemiş sete karşı karşılaştırılarak. Dört ayağın dördü de
yeniden üretiyor - bizimki 0,18 / 0,30 / 0,75 / 2,02, burada basılı 0,19 / 0,33 /
0,74 / 2,07'ye karşı, ve turbo 1.5.0 her ayakta ve her iki yapılandırmada da
tablodaki derlemenin birkaç yüzde içine iniyor. Hücreler yayımlandığı gibi
duruyor; diğer üç makine kendi tarihlerini koruyor.
Yani rakip iki kez beliriyor, ve o
sütunlardan biri kendi varsayılanı değil en iyi durumu. İndireceğiniz sürüm
ikili dosyası genel bir taban CPU için derlenmiş ve aynı anda yalnızca birkaç
dosyayı hash'liyor; aynı kaynağı gerçek anamakine CPU'su için derleyip
-T16 geçirmek, o makinenin gerçekten sahip olduğu komutları
kullanmasına ve aynı anda on altı dosyayı hash'lemesine izin veriyor. Dizüstünde
bu, salt derleme ve bayraklardan 2,6 kata kadar değer. Bizi ayarlanmış sütunda
yargılayın, ki bu daha zor karşılaştırma; gönderilen sütun ise onu indiren birinin
gerçekte yaşadığı şey. par2cmdline orijinali, sürüm 1.2.0, her
makinede kaynaktan derlenmiş. rarpar, Weaver'ın Metal GPU arka ucu
etkin kaynaktan derlenmiş kendi PAR2 uygulaması. MultiPar'ın par2j'si
yalnızca Windows, bu yüzden yalnızca Windows dizüstü satırlarında beliriyor. M5 Max
satırları, iki turbo sütununun yanında güncel macOS arm64 derlemeli iki aracı
yarıştırıyor; par2cmdline klasiği o makinede yarıştırılmadı.
| saniye, 1 GiB set | masaüstü, 32 çekirdek | masaüstü, 20 çekirdek | dizüstü, 14 çekirdek | dizüstü, M5 Max |
|---|---|---|---|---|
| hasar yok - temiz doğrulama | ||||
| nzbfast | 0,11 | 0,19 | 0,23 | 0,18 |
| par2-turbo, ayarlanmış | 0,31 | 0,38 | 0,42 | 0,28 |
| par2-turbo, gönderildiği hâliyle | 0,86 | 1,12 | 1,06 | 0,80 |
| par2cmdline | 3,03 | 3,84 | 3,81 | yarıştırılmadı |
| rarpar | 2,62 | 3,45 | 2,96 | 2,32 |
| MultiPar | yalnızca Windows | yalnızca Windows | 1,34 | yalnızca Windows |
| 3 blok hasarlı - birkaç ölü makale | ||||
| nzbfast | 0,22 | 0,33 | 0,46 | 0,26 |
| par2-turbo, ayarlanmış | 0,51 | 0,66 | 0,78 | 0,48 |
| par2-turbo, gönderildiği hâliyle | 1,08 | 1,46 | 1,42 | 1,00 |
| par2cmdline | 3,64 | 4,58 | 4,98 | yarıştırılmadı |
| rarpar | 4,27 | 5,53 | 4,99 | 3,64 |
| MultiPar | yalnızca Windows | yalnızca Windows | 1,71 | yalnızca Windows |
| 101 blok hasarlı | ||||
| nzbfast | 0,48 | 0,74 | 0,96 | 0,66 |
| par2-turbo, ayarlanmış | 0,88 | 1,17 | 1,40 | 0,85 |
| par2-turbo, gönderildiği hâliyle | 2,04 | 2,65 | 2,69 | 1,84 |
| par2cmdline | 5,57 | 7,57 | 11,7 | yarıştırılmadı |
| rarpar | 4,73 | 5,73 | 5,74 | 4,17 |
| MultiPar | yalnızca Windows | yalnızca Windows | 2,65 | yalnızca Windows |
| 1.500 blok hasarlı - fazlalığın %91'i kullanıldı | ||||
| nzbfast | 1,00 | 2,07 | 2,46 | 1,61 |
| par2-turbo, ayarlanmış | 3,00 | 5,52 | 6,73 | 4,07 |
| par2-turbo, gönderildiği hâliyle | 5,21 | 8,20 | 9,30 | 6,01 |
| par2cmdline | 67,7 | 86,1 | 403 | yarıştırılmadı |
| rarpar | 7,15 | 11,49 | 14,22 | 6,91 |
| MultiPar | yalnızca Windows | yalnızca Windows | 5,40 | yalnızca Windows |
On altı nzbfast hücresinin tümü - dört makinede dört hasar düzeyi - bizim, ayarlanmış derlemeye karşı çoğu 2×'den fazla, ve gerçekte indireceğiniz derlemeye karşı 2,3× ile 7,7× arasında. Ağır-hasar hücreleri ilginç olanlar, ve aşağıdaki not arkalarındaki algoritmayı anlatıyor.
Orijinal tabloya geri döndü, ve
çatalın neden var olduğunu görmeye değer. Bu sayfanın önceki bir sürümü
par2cmdline sütununu, turdaki her şeyden yavaş olduğu gerekçesiyle
düşürmüştü, ki bu doğru ve yeterince iyi bir gerekçe değil: bu, neredeyse her
başka aracın türediği uygulama, ve okuyucular bizim onun hakkındaki iddiamız
yerine tabanı hak ediyor. En ağır hasar düzeyinde yaklaşık 69 s alıyor, SIMD
çatalının 3,2 s ve bizim 3,1 s aldığı yerde. O yirmi kat faktör, elle yazılmış
Galois-alanı çekirdeklerinin tüm gerekçesi, ve bu bizimki için yaptığımız aynı
gerekçe.
Hafif hasar önemli olan durum. Bir avuç başarısız makale, 101 ölü bloktan çok daha tipik, 1.500'e hiç benzemiyor. Hafif bir onarımın çoğu Reed-Solomon matematiği bile değil, bir gigabaytı okumak ve MD5'lemek, bu yüzden 3-bloklu satır onarım satırları yerine temiz-doğrulama satırını izliyor.
En ağır hasar düzeyi farklı bir tür iş, ve farklı bir algoritma alıyor. O son düzey, 21 birimin tümünde 1.500 bloğu hasarlıyor ve fazlalık verisinin yaklaşık %91'ini tüketiyor, ki burası Reed-Solomon aritmetiğinin, hash'leme ya da diskin değil, işin neredeyse tamamı olduğu yer. Gönderilen derleme, en ağır onarımları klasik Galois-alanı katlaması yerine bir sayı-teorik dönüşümle hesaplıyor - yüksek blok sayılarında çok daha iyi ölçeklenen bir biçimde değerlendirilen aynı matematik: 20 çekirdekli masaüstünde ayarlanmış derlemenin 2,7× önünde, ve Windows dizüstünde ayarlanmış derlemenin 2,7× ve MultiPar'ın 2,2× önünde. Hafif hasar hâlâ klasik yolu koşuyor, ki bu diğer düzeylerin neden neredeyse hiç kıpırdamadığının sebebi: dönüşüm ancak yaklaşık 512 hasarlı bloğun üzerinde karşılığını veriyor, bu yüzden onun altında sevk edici onu kullanmıyor.
Daha hızlı bir yol, ancak yanlış olamıyorsa değerlidir. Her iki yol da aynı niceliği hesaplıyor ve kuruluş gereği bit-özdeş, ve bu sayfadaki her onarım, yeniden inşa edilen dosyaların el değmemiş sete uymasına göre geçitlendi: bu ayaktaki makinelerde 228 zamanlanmış onarım, sıfır uyumsuzluk. Gönderilen derleme o kayıta güvenmiyor. Her onarım kendi çıktısını dosya hash'lerine karşı doğruluyor, ve başarısız olan biri otomatik olarak klasik yolla yeniden yapılır, sapmayı günlükler, ve o koşunun kalanı için klasik yolu korur. Ayar, hiç istemeyenler için panoda Hızlı PAR modu olarak var, ve bunun için yeterince belleği olmayan makineler denemek ve başarısız olmak yerine kendiliğinden reddediyor. 2 Ağustos'ta güncel derlemede yeniden ölçüldü: iki masaüstü bu tablonun birkaç yüzdesi içine iniyor, ve Hızlı PAR modu kapatıldığında 20 çekirdekli masaüstü tam olarak klasik yolun daha yavaş süresine geri düşüyor, ki bu kazananın koşullar değil yöntem olduğunu söylüyor.
Windows dizüstünün sütunu bir düzeltme
gerektirdi, ve bu bizim aleyhimize. Windows, birkaç saniye içinde sürdürülen
arka plan işini verimlilik çekirdeklerine indiriyor. Bizim daemon'umuz başlangıçta
bundan çıkıyor ve diğer araçların hiçbiri çıkamıyor, bu yüzden bu sayfanın önceki
bir sürümü onların kısılmış sürelerini sanki araçların kendi süreleriymiş gibi
yayımladı. O makineyi her aracı yüksek önceliğe kaldırarak yeniden koşturmak tüm
alanı hareket ettiriyor: en ağır hasar düzeyinde par2-turbo 22,4 s'den
6,41'e, rarpar ise 59,2 s'den 14,4'e gidiyor, ve bu sayfanın bir
kesimi için bu, sütunu bizimkinden kaybettiğimiz bir sütuna çevirdi. Tüm dizüstü
sütunu artık o şekilde ölçülüyor - düzeltme, yukarıdaki algoritma değişikliğiyle
satır geri kazanılmış olsa bile kalıyor, çünkü o makinedeki alanın süreleri ancak
kısıtlama kaldırılınca dürüst.
PAR2 hasarı kapsayamadığında,
RAR'ın kendi içindeki kurtarma kaydı son savunma hattıdır. 1.0.8'e kadar bizimki
yaklaşık 13 MB'ın üzerindeki her arşivde başarısız oluyordu, bu yüzden bu ayak hiç
koşturulamıyordu. Hasar, korunan bölge boyunca %20, %50 ve %80'de üç adet
3.000 baytlık delik. Her iki araç da el değmemiş dosyaya bayt-eşdeğer çıktı
üretti, ve bizimki rar r'ın kendisinin yazdığına bayt-eşdeğer. 3'ün en
iyisi, 32 çekirdekli masaüstü, her iki araç da 2 Ağustos'ta birlikte yeniden
yarıştırıldı.
| 16 MB | 32 MB | 128 MB | 512 MB | 2 GB | |
|---|---|---|---|---|---|
| nzbfast | 0,049 | 0,059 | 0,130 | 0,400 | 1,527 |
| rar 7.23 onarımı | 0,278 | 0,466 | 1,065 | 2,291 | 6,400 |
| avantaj | 5,7× | 7,9× | 8,2× | 5,7× | 4,2× |
Bu sayfanın önceki bir sürümü 512 MB boyutunu bir kayıp olarak gösteriyordu, ve bunu birimin tamamını bellekte tutmak yerine parça parça çalışmanın bedeli olarak açıklıyordu. O açıklama o zaman doğruydu ve şimdi geçersiz: bedel onarım yolundaki bit-seri bir CRC64'tü, tablo güdümlü biriyle değiştirildi, ve kayıp onunla birlikte gitti. Artık bir geçiş noktası yok, ve sınırlı çalışma seti korundu. 2 GB boyutu burada, çünkü bir daemon'un gerçekte karşılaştığı birimler 512 MB değil 8 GB ile 20 GB arasında, ve gerçek aralığın altında duran bir kol pek bir sınav sayılmaz.
Bu kesimi ne hareket ettirdi, ve
bunu söyleyen kontrol. Hangi blokların hasarlı olduğunu bulmak bu onarımın en
büyük aşaması hâline gelmişti - onarım aritmetiğinin kendisinden bile büyük - ve
tek bir iş parçacığında koşuyordu, dosya boyunca her grubun 64 KB'ını grup başına
bir kez okuyarak. Şimdi parça-başına sağlama toplamları paralel hesaplanarak dosya
sırasında tek bir sıralı geçiş yapıyor, ve dosya sisteminin yapabildiği yerde
onarılan birim kopyalanmak yerine klonlanıyor. Saptama tek başına 512 MB'lık
arşivde yaklaşık 300 ms'den 18 ms'ye düştü, ki bu yukarıda hareket edenin çoğu.
Kontrol, bizimkinin yanındaki sütun: rar r aynı makinede aynı turlarda
yeniden yarıştırıldı ve önceki sürelerinin birkaç yüzdesi içine geri döndü, bu
yüzden aradaki farkta değişen bizimki, kıyaslama değil.
M5 Max, aynı korpus ve geçitlerle
31 Temmuz'da yarıştırılan örüntüyü tekrarlıyor: 16 MB'tan 512 MB'a kadar
boyutlarda 0,050 / 0,066 / 0,171 / 0,581 s, rar r'ın 0,211 / 0,335 /
0,751 / 1,735'ine karşı - 3,0× ile 5,1× arasında daha hızlı; 2 GB
boyutu o makinede yarıştırılmadı. Bu rakamlar yukarıda anlatılan saptama yeniden
yazımından önce, bu yüzden burada güncel bir rakam değil eski derlemenin ikinci
makine olarak tutulan rakamları.
Weaver'ın rarpar'ı yalnızca
bu tablodan yok, ve bu bir seçim değil: bu onarımı uygulamıyor. Bu arşivlerden
birini onarması istendiğinde "embedded Rar5 recovery record detected ... this
API restores standalone .rev recovery volumes only and does not consume embedded
RR/protect data" yanıtını veriyor, ve dosyayı hasarlı bırakıyor. Bu sayfadaki
her başka karşılaştırmada beliriyor: yukarıdaki dört PAR2 ayağının tümünde, ondan
önceki yedi çıkarma biçiminin tümünde, ve hemen aşağıdaki, kendi yaptığını
söylediği - ve kazandığı - kurtarma birimi kolunda.
.rev dosyalarını yeniden inşa etmekRAR'ın kendi kurtarma
hikayesinin öteki yarısı, ve bu ayağa kadar bu sayfadaki en büyük kayıp. Bir
.rev dosyası bağımsız bir kurtarma birimidir: 21 ciltlik bir setin
yanında üç tanesi, hiç gelmeyen herhangi üç birimi yeniden inşa edebilir. Korpus:
rar rv3 ile 21 birime, 50 MB'lık, depolanmış 1 GiB, sonra 4, 11 ve
19 numaralı birimler silindi - üç kurtarma birimine karşı üç kayıp, ki bu setin
hâlâ atlatabileceği en kötü durum. 3'ün en iyisi, her yeniden inşa edilen birim
el değmemiş olana karşı karşılaştırıldı.
| masaüstü, 32 çekirdek | masaüstü, 20 çekirdek | |
|---|---|---|
| nzbfast | 0,44 | 0,50 |
rar 7.23 rc | 0,46 | 0,58 |
rarpar restore-volumes | 0,48 | 0,61 |
Buradaki 32 çekirdekli hücre, bu
sayfanın önceki kesiminde rar rc'nin 0,47'sine karşı 3,12 s'ydi,
6,6× daha yavaş ve üzerindeki en kötü rakam olarak yayımlanmıştı. Sebep, silme
çözümünün RARLab'ın yönettiği 320'ye karşı yaklaşık 48 MB/s'lik yeniden inşa
edilen çıktıda koşmasıydı; şimdi kurtarma kodunun geri kalanıyla aynı tablo
güdümlü aritmetikte koşuyor, ki bu yedi kat bir iyileşme ve kaybı her iki
makinede de bir kazanca çeviriyor. Farklar %3 ve %14, bu yüzden bu manşete
çıkarmak yerine açıkça söylenecek bir kazanç, ve hiç söylenmesinin sebebi kaybın
önce söylenmiş olması.
Bu kol var, çünkü Weaver'ın
rarpar'ı tam olarak bunu uyguluyor ve bununla ölçülmeyi istedi. Onu
ilk yayımladığımızda rahatça kazanıyordu, ve o sebeple o zaman yayımladık.
Dosya eşleştirme hiçbir zaman bedel olmadı, ki bu kaydetmeye değer çünkü sezgisel şüpheliydi: kurtarma birimleri hiçbir dosya adı taşımaz, bu yüzden hangi yuvaların hayatta kaldığını, ne çağrıldıklarına güvenmek yerine diskteki her birimi sağlama toplayarak belirliyoruz, ve yalnızca eşleştirmenin gerçekleştiği hasarsız bir sete karşı, tüm geçiş 0,18 s sürüyor.
Başka ne hareket etti, ve nerede görünmüyor. Bu korpusların göremediği iki motor değişikliği daha geldi, burada listeleniyor ki yukarıdaki sayılar tüm hikaye olarak okunmasın: onlarca binlerce üyeli RAR5 arşivleri her üyeyi işçi başına listeyi yürümek yerine bir kez çözümlüyor, ki bu 40.000 üyede 3× daha az işlemci süresi; ve RAR1.3 bit okuyucusu bir kerede bir sözcük çalışıyor, ki bu 2×. İkisi de yukarıda belirmiyor, çünkü buradaki biçimlerin 400 üyesi var ve hiç RAR1.3 yok.
Kasıtlı olarak yapmadığımız şey: hiçbir zaman PAR2 oluşturmuyoruz. Bir indiricinin buna sebebi yok, ve o kolu ParPar sahipleniyor. Ayrıca her iki motorda da hızı bellekle satın alıyoruz: çıkarma unrar'ın 41 MB'ına karşı 240 MB civarında zirve yapıyor, ve doğrulama turbo'nun 7 MB'ına karşı 126 MB civarında, çünkü bunlar tek seferlik bağımsız araçlar değil canlı bir indirmenin üzerinde yürüyen iç motorlar. 128 MiB-sözlük biçimi bunun en kötüsü, unrar'ın 139 MB'ına karşı yaklaşık 304 MB'ta. En ağır onarım artık belleğe de mal oluyor: 512-ve-üstü eksik blok için daha hızlı yöntem, bellekte tutulan kurtarma verisinden çalışıyor, bu yüzden makinenin RAM'inin dörtte birine kadar izinli, 4 GB'ta tavanlı, ve ayıracak yeri olmayan bir makine sessizce düşük-bellek yöntemini alıyor - PAR2 tablosunun orta satırlarıyla aynı aritmetik ve aynı süreler, yalnızca sonuncudaki 3× değil. Tek seferlik bir iş için mümkün olan en küçük mukim seti istiyorsanız, özel araçlar o sütunu hâlâ kazanıyor.
Yetenek, mikro-kıyaslama değil
| nzbfast | SABnzbd 5 | NZBGet 26 | rustnzb | Weaver | Usenapp | Newsbin | |
|---|---|---|---|---|---|---|---|
| hatlanmış NNTP | evet | varsayılan kapalı | hayır | evet | -⁷ | - | - |
| indirme sırasında tam doğrulama | her blok | sonra | hızlı denetim | sonra | sonra | sonra | sonra |
| indirme sırasında çıkarma | akış içi, diskte birim yok | doğrudan açma⁴ | doğrudan açma⁴ | önce sahneler, sonra açar⁵ | hayır | hayır | hayır |
| N-GB'lık bir gönderi için gereken disk | ~1×N | ~2×N | ~2×N | ~2×N | ~2×N | ~2×N | ~2×N |
| indirme öncesi tamamlanabilirlik hükmü | blok-kesin | hayır | sağlık % | hayır | -⁷ | makale denetimi | hayır |
| sınırlı bellek (asla takas alanına düşmez) | bütçelenmiş | önbellek-sınırı ayarı | önbellek ayarı | hayır | hayır | - | - |
| kendi açık-dosya sınırını yükseltir | evet, başlangıçta | -⁸ | -⁸ | -⁸ | -⁸ | -⁸ | -⁸ |
| indirme sırasında herhangi bir noktada dosyayı denetleme | evet | hayır | hayır | hayır | hayır | sıralı | hayır |
| yerleşik dizinleyici + gönderici duvarı | evet, anahtarsız | hayır | hayır | hayır | hayır | arama arayüzü | grup tarayıcı |
| Sonarr/Radarr takılabilirliği | SAB API + Newznab | yerli | yerli | SAB-uyumlu API | NZBGet-uyumlu RPC⁷ | hayır | hayır |
| telefon uzaktan kumandaları (nzb360/LunaSea) | evet | evet | evet | hayır | -⁷ | hayır | hayır |
| izleme listesi otomatik-alma + yükseltmeler | yerleşik | *arr üzerinden | *arr üzerinden | hayır | hayır | Watchdog | kurallar |
| tek başına yeten tek ikili dosya | evet | uygulama paketleri; Linux'ta Python | evet | evet | evet | .app | .exe |
| açık kaynak | GPL⁶ | GPL | GPL | MIT | evet | ücretli | ücretli |
| platformlar | mac/win/linux (x64 + ARM)/docker/flatpak | mac/win/linux/docker/NAS paketleri | mac/win/linux/docker/NAS + gömülü | linux/win (mac kaynaktan) | mac ikili dosyası; kaynak başka yerde⁷ | yalnızca mac | yalnızca win |
⁴ Doğrudan açma birimleri yine de önce somutlaştırır: 2× yazma ve 2× disk. ⁵ rustnzb 1.4.5, 23 Ağustos 2026 ayağındaki her senaryoyu bayt-doğru teslim ediyor, ve oradaki ölçülen aygıt G/Ç'si yükün yaklaşık 2,1 katı - yani birimleri sahneliyor ve akış içinde çıkarmak yerine indirmeden sonra açıyor (bkz. bedel tabloları). Daha eski derlemeleri (1.3.4-1.3.9), açmadan "Completed" işaretlenmiş gizlenmiş birimler gönderiyordu; o hata 1.4.5'te üst akışta düzeltildi. ⁶ GPL-3.0-or-later. ⁷ Weaver 0.7.8, en yeni yayımlanan ikili dosyası, kimliği hash ile kanıtlanmış (yayımlanan sürüm tar dosyasının sha256'sı ve içindeki ikili dosya ikisi de yarıştırdığımızla eşleşiyor); ölçülen satırları 23 Ağustos bedel ayağından geliyor, "-" işaretli yetenek hücreleri doğrulanmış yokluklar değil değerlendirmediğimiz özellikler; NZBGet-uyumlu bir RPC konuşuyor, ki düzeneğimiz onu bununla sürüyor, ama telefon uzaktan kumandalarını ona karşı denemedik. Usenapp/Newsbin, indirici özellikli tek-platformlu ticari okuyucular; insanlar sorduğu için listeleniyorlar, hızda yarıştıkları için değil.
⁸ macOS bir programı 256 açık dosya sınırıyla başlatır, ve birkaç sunucu boyunca tam bir bağlantı seti bunu aşabilir. nzbfast, başlangıçta macOS ve Linux'ta kendi sınırını yükseltir: 65.536 ister, sistem kabul edene kadar adım adım iner, hiçbir zaman sistemin sert sınırının üstüne çıkmaz, ve her adım reddedilirse elindekiyle devam eder. Windows'ta bu türden bir süreç başına sınır yok. Diğer sütunlar, doğrulanmış yokluklar değil değerlendirilmemiş: başka hiçbir istemcinin başlangıç kodunu okumadık. Bilinmeye değer, çünkü nasıl başarısız olduğu için: bir işin ortasında açık dosyaları tükenen bir program, hata bildirmek yerine kaybolma eğiliminde.
Aktarım kanıtı · 1.2.2'de ölçüldü
Bu sayfanın daha önceki kesimleri daha geniş bir aktarım gösterimi seti taşıyordu - çok-hatlı doygunluk koşuları, RTT başına hatlama kazançları, bir geri-basınç kanıtı, kod-çözme-tavanı ölçümleri - v1.2.2'nin o zamandan beri aştığı derlemelerde yarıştırılmış. Bu sayfanın kuralı altında yaşlanmaya bırakılmak yerine emekliye ayrılıyorlar, ve güncel sürümde yeniden kesildikçe geri dönüyorlar; yukarıdaki üç iddia v1.2.2'de zaten yeniden ölçülenler.