Fem klienter, identisk hardware og udbydere, kørsler flettet, så udbyderdrift ophæves. Målet er tid til en brugbar fil - hentet, verificeret, udpakket - målt sammen med den disk, den frie plads og den hukommelse, jobbet koster dig. Hver tabel navngiver de builds, den kørte mod, og den dag, den kørte. Inklusive de ben, vi ikke vinder.
On this page
Den korte version · målt 23. august 2026 på den kodelinje, der blev leveret som nzbfast 1.2.2
De nyeste runder på denne side kørte 23. og 24. august 2026 - den nyeste af dem på selve v1.2.2-release-buildet - mod de aktuelle builds af fire andre klienter på identisk hardware, linjer og udbydere: to jobformer fra 6,5 til 87 GB, og linjehastigheder fra 250 Mbit til 10 GbE. På tværs af de runder var ingen klient billigere end nzbfast på processor, hukommelse og disk tilsammen: hver af dem koster mere på mindst to af de tre, det mest nogen af dem sparede på en enkelt akse var omkring 2 procent - en statistisk uafgjort, inden for den klients egen spredning fra kørsel til kørsel - og på disk flyttede hver eneste af dem mindst dobbelt så mange bytes for et byte-identisk resultat. Som leveret holdt nzbfast også mindst hukommelse af alle målte klienter, på hver eneste fixtur, med 2,0x til 4,5x mod den nærmeste rival.
Hvilken er dig?
De fleste downloadere skriver dit download til disk mindst to gange: én gang mens det hentes, og igen mens det pakkes ud. nzbfast klarer hele jobbet i ét gennemløb, så den skriver omkring halvdelen af bytes'ene pr. job, holder mindre i hukommelse mens den arbejder, og bruger færre processorsekunder pr. GB. Det er mindre belastning på maskinen mens du bruger den, og halvt så mange skrivninger pr. job på dine drev, for de samme byte-identiske filer - og fordi hver byte krydser disken omkring én gang, skal dit drev kun følge med din linje én gang.
nzbfast vinder ikke hver eneste tabel på denne side, og dem den taber findes under de ben, vi ikke vinder - inklusive ét fra samme runde. Det, der holdt i hver runde vi målte, er den samlede regning.
Metode først
pipelining_requests=8 (den leveres med 1, altså ikke pipelinet, og indstillingen er tocifrede procentpoint værd på store job), NZBGet fik ArticleCache/DirectWrite/DirectUnpack/ParQuick, rustnzb sin dokumenterede konfiguration. Siden 20. august 2026 kører hver runde mod fem udbydere frem for seks - antallet af udbydere er ikke en gennemløbshåndtag på disse maskiner, hvor én enkelt udbyder alene kan nå linjeloftet, og et fast antal holder runder sammenlignelige - så et tal med seks udbydere på denne side er ikke direkte sammenligneligt med et nyere tal med fem udbydere, og hver tabel siger, hvilket den kørte.Runden fra 23. august 2026
Seks arme på en 20-core Apple Silicon-maskine på en 1 Gbit-linje: nzbfast med standardindstillinger som leveret, samme binær med sin forbindelsesregulator slået fra, og de aktuelle builds af de fire andre klienter. Fem udbydere, TLS overalt, tre gentagelser pr. klient pr. fixtur med rækkefølgen roteret inden i hver runde, og hvert bens output tjekket byte for byte: 36 af 36 ben producerede den nøjagtige nyttelast. Ved 1 Gbit sætter linjen tempoet, og sluttiderne konvergerer med vilje, så tidskolonnen er der for at vise den konvergens; ressourcekolonnerne er det, som runden findes for at måle.
Ét håndtag betyder noget, og det siges frem for at gemmes væk: standardindstillinger som leveret inkluderer nu en linjebevidst forbindelsesregulator, og på denne linje holdt den 25 forbindelser, mens hver anden klient kørte sine konfigurerede hundreder. Rækken "regulator fra" drejer de samme 360 sockets, som vores ældre runder brugte, så begge sammenligninger forbliver tilgængelige: produktet, som en læser oplever det, og det historiske eksperiment.
| 6,5 GB navngiven release, udpakning i vejen | tid til brugbar fil | spidshukommelse (RSS) | CPU-tid | disk-I/O (GiB) | netværk (GB) |
|---|---|---|---|---|---|
| nzbfast, som leveret (25 forb.) | 58 s | 143 MB | 35,7 s | 6,2 | 6,5 |
| nzbfast, regulator fra (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 obfuskeret release | tid til brugbar fil | spidshukommelse (RSS) | CPU-tid | disk-I/O (GiB) | netværk (GB) |
|---|---|---|---|---|---|
| nzbfast, som leveret (25 forb.) | 302 s | 191 MB | 194,0 s | 32,5 | 34,4 |
| nzbfast, regulator fra (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 |
Målt 23. august 2026 mod SABnzbd 5.1.1, NZBGet 26.3-testing, rustnzb 1.4.5 og Weaver 0.7.8, medianer af tre med hvert ben byte-tjekket, fem udbydere, alt over TLS. nzbfast-armene kørte et build af den samme kodelinje fra tidligere samme dag, omkring syv timer før v1.2.2-udgivelsesbuildet, så deres rækker bærer ikke noget versionsnummer; tabellerne for 500 Mbit og 87 GB på denne side kørte faktisk udgivelsesbuildet selv og siger det. ¹ Weavers CPU- median på 6,5 GB-fixturen er 2% under vores (34,9 mod 35,7) med dens egne tre ben spændende fra 34,1 til 56,1 s, så læs det som en statistisk uafgjort; det er den ene celle på nogen af de to tabeller, en rival holder, og det er gentaget under de ben, vi ikke vinder. På 34 GB-fixturen er vores CPU lavest, ubetinget. Weavers nyere 0.8.3 leverer ingen binær; vores kildebuild af den målte et processormønster, vi ikke rent kan tilskrive versionen frem for buildet, så denne tabel kører mod det hash-beviste 0.7.8-releaseaktiv og siger det, frem for at publicere et konfunderet tal. rustnzb 1.4.5 gennemførte hvert ben her, den obfuskerede fixtur inklusive.
Netværkskolonnen, præcist. 6,5 GB på den rene fixtur - det samme tal, NZBGet og SABnzbd rapporterer for sig selv. Det værste tilfælde, vi kender til, er et bevidst omnummereret obfuskeret opslag, hvor det at styre uden om den forvrængede nummerering koster én ekstra artikel pr. styring: målt til 1,10-1,20x minimumsplanen på begge sådanne former, vi kunne bygge. rustnzbs celler på 7,2 og 37,8 GB er dens egen overflod, med en advarsel i dens log på to ben.
Hvad hukommelseskolonnen betyder ved standardindstillinger: regulatoren er størstedelen af, hvorfor rækken "som leveret" holder 143-191 MB - færre forbindelser er mindre i flyvning - og at slå den fra (anden række) er den ærlige bro til hver ældre 360-socket-tabel på denne side. Selv ved 360 sockets er vi på niveau med den mest sparsommelige rival (583 MB mod rustnzbs 628 på den lille fixtur, 465 mod dens 445 på den store); ved standardindstillinger som leveret er der ingen uafgjort tilbage.
Langsommere linjer · målt 24. august 2026 på nzbfast 1.2.2
På en linje langsom nok er hver klients sluttid linjen og intet andet, så en langsom linje skjuler mange synder. Det den ikke kan skjule, er hvad hver klient brænder af for at fylde den. Vi formede 1 Gbit-riggen til to hastigheder, som virkelige planer faktisk er, og kørte alle seks arme mod hver - samme maskine, samme fem udbydere, tre gentagelser pr. klient med rækkefølgen roteret, hvert ben byte-tjekket, 36 af 36 korrekte på tværs af de to runder. nzbfast-armen ved 500 Mbit er selve v1.2.2-releasebuildet.
| 500 Mbit-linje, 6,5 GB release | tid til brugbar fil | spidshukommelse (RSS) | CPU-tid | disk-I/O (GiB) |
|---|---|---|---|---|
| nzbfast 1.2.2, som leveret | 109 s | 142 MB | 45,4 s | 6,2 |
| nzbfast 1.2.2, regulator fra | 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-linje, samme release | tid til brugbar fil | spidshukommelse (RSS) | CPU-tid | disk-I/O (GiB) |
|---|---|---|---|---|
| nzbfast, som leveret | 217 s | 144 MB | 53,3 s | 6,2 |
| nzbfast, regulator fra | 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 |
Læs de to tabeller som en gradient. Ved 250 Mbit lander hele feltet inden for 18% på uret, og vi fører over den nærmeste rival med 4,4%; ved 500 Mbit åbner hullet sig til 14,7%; ved gigabit- og 10 GbE-hastighederne i tabellerne ovenfor og nedenfor åbner det sig yderligere. Hastighedsforskelle vokser med linjen. Ressourcekolonnerne venter ikke på en hurtig linje: ved hver målte hastighed holdt hver rival mindst 3,9x hukommelsen, brugte mere processor, og flyttede omkring dobbelt så mange diskbytes for den samme byte-identiske fil.
Forbindelsesregulatoren tjener sin plads på langsomme linjer, og shaperens eget dropstælleri siger hvorfor. Standardindstillinger som leveret holdt 25 forbindelser, mens hver rival kørte hundreder; den samme binær med regulatoren fra kørte 360. Færre strømme gennem en fast kø betyder mindre tab og mindre gensending: shaperen registrerede omkring 4.200 drop pr. begrænset ben mod omkring 155.000 ubegrænset ved 500 Mbit, og den begrænsede arm var hurtigere, 4,2x lettere på hukommelse og 1,3x lettere på CPU end vores egen 360-socket- tilstand. Flere forbindelser er ikke mere hastighed; under en gigabit er det målbart det modsatte.
Målt 24. august 2026, medianer af tre, på en 20-core Apple Silicon-maskine med sin linje formet til hver hastighed (den formede hastighed verificeret af en uafhængig probe før hver runde: 248 og 496 Mbit). Den 500 Mbit nzbfast-arm er selve v1.2.2-releasetag-buildet; 250 Mbit-runden kørte timer tidligere på samme kodelinje. Bytetal på en formet linje er læst fra hver klients egen tæller, aldrig netværksgrænsefladen (shaperen dropper og TCP gensender, så grænsefladen tæller begge kopier). Vægge er sammenlignelige inden for hver tabel, ikke på tværs af forskelligt formede runder. ¹ NZBGets tre ben ved 500 Mbit spændte fra 114-158 s med flade ressourceaflæsninger - en ægte spredning, så medianen er angivet, og spredningen er nævnt frem for indsnævret.
Den store fil · målt 24. august 2026 på nzbfast 1.2.2
Den anden ende af linjehastighed-historien: en 10 GbE-maskine, fem udbydere, et 87 GB-opslag, hvis nyttelast er én 76,6 GB-video, seks arme, tre gentagelser roteret, og hvert bens output byte-tjekket - 18 af 18 ben producerede den identiske fil, alle seks klienter enige om dens tjeksum. nzbfast-armene er v1.2.2-releasebuildet.
| 87 GB-opslag, 10 GbE | tid til brugbar fil | spidshukommelse (RSS) | CPU-tid | disk-I/O (GiB) | netværk (GB) |
|---|---|---|---|---|---|
| nzbfast 1.2.2 (50 connections)¹ | 70 s | 415 MB | 144 s | 72,9 | 77,2 |
| nzbfast 1.2.2, forbindelsesregulator til (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-historien i sin hidtil største skala. Vores spidsdisk under jobbet er 70,8 GiB - UNDER de 76,6 GB output, fordi halen af nyttelasten stadig er på vej ind, mens hovedet allerede er endeligt - og samlet disk-I/O er 1,00x nyttelasten. Rivalerne flytter 2,5x til 6,0x så mange bytes for den samme fil. Og den hurtigste arm opretholder omkring 8,7 Gbps inklusive løbende verificering og udpakning; i det øjeblik downloadbjælken er fuld, er filen færdig.
¹ Hver klient på denne side kører mod sine dokumenterede bedste indstillinger, og på en 10 GbE-linje er vores 50 samlede forbindelser - 10 pr. server, et niveau enhver kontotype når - den samme ene-indstillings-tuning, vi giver hver rival (SABnzbd dens pipelining, NZBGet dens artikel-cache). Halvtreds er ikke et handicap: en gennemgang af seks trin på denne samme fixtur fandt væggen identisk fra 50 forbindelser hele vejen op til kontomaksimum på 360, mens processoromkostningen stiger 2,3x hen over det interval for intet, så maksimum køber intet, denne tabel ville vise. Rækken med 50 forbindelser blev derefter genmålt ved fuld tre-gentagelses-kvalitet samme dag, på samme maskine, mod den samme output-tjeksum: 70 / 70 / 70 s, alle tre byte-tjekket. Regulator-rækken er her, fordi den er den mere interessante: ved hver hastighed op til en gigabit er dens 25 forbindelser gratis-til-hurtigere, og selv her, hvor de koster omkring en femtedel af væggen, køber de 336 mod 415 MB hukommelse og 130 mod 144 CPU-sekunder. At skalere regulatoren automatisk med linjehastigheden - så den bedste opførsel også er standarden, ved knækket frem for maksimum - er på vej til den næste release. ² Weavers 435 GiB disk-I/O for en 77 GB download er dens krypteret-i-hvile- lager, der genlæser og genskriver næsten alt, efterhånden som jobbet vokser - det superlineære mønster, vores instrumenterede runder fra juli målte, stadig til stede på det aktuelle build. ³ rustnzb 1.4.5 gennemfører byte-korrekt, og dens omkostning er processortid og netværk: omkring 2.444 CPU-sekunder mod et 869 s ur på tværs af alle tre gentagelser, og 86,9 GB hentet, hvor den ivrige plan er 77,2 (den henter hele genopretningssættet ubetinget). Målt 24. august 2026, medianer af tre, alle builds aktuelle; gentagelse 3 for de tre hurtigste arme kørte ~40 minutter efter resten (en fri-plads-vagt satte runden på pause; forskydningen flyttede ingen median med mere end spredningen mellem gentagelser).
Siden denne runde er regulatorrækken overhalet af det, 1.2.3 leverer. Målt den 26. august 2026 på samme fixtur, samme maskine og samme 10 GbE-linje, seks ben byte-korrekte mod denne tabels kontrolsum: 71 s ved leverede indstillinger, 322 MB og 139,3 processorsekunder, mod de 90 s ovenfor. Det var en runde med kun nzbfast på et nyere build, så den står her frem for i tabellen: hver række ovenfor står, som den blev målt den 24. august.
Den første kommercielle klient på denne side: Newsbin Pro, den længst-etablerede betalte Windows-klient, kørt mod vores officielle Windows-build på en indbygget Windows 10 GbE-maskine, hvis TLC-systemdrev opretholder 0,99 GB/s skrivninger - den langsomste disk i vores testflåde, hvilket gør den til det ærlige sted at køre en staging-klient. Samme 87 GB-opslag, tre gentagelser flettet, hvert bens output byte-tjekket mod samme tjeksum som tabellen ovenfor: 6 af 6 identiske.
| 87 GB-opslag, Windows, TLC-disk | tid til brugbar fil | spidshukommelse (RSS) | CPU-tid | disk-I/O (GiB) | netværk (GB) |
|---|---|---|---|---|---|
| nzbfast 1.2.2 (50 connections) | 105 s | 469 MB | 154 s | 84,5 | 76,7 |
| Newsbin Pro 6.90 (360 connections) | 477 s | 881 MB | 1.862 s | 154,1 | 76,7 |
Målt 24. august 2026, medianer af tre, begge klienter aktuelle. Newsbin kørte ved sine egne konfigurerede maksima pr. server - 360 sockets mod vores 50 - og dens tider udelukker de 90 sekunders ro, vores testramme venter, før den erklærer en overvåget klient færdig, så sammenligningen læner sig dens vej to gange, og resultatet står alligevel: 4,5x væggen, 12x CPU-sekunderne, og 1,9x hukommelsen for den identiske fil. Ingen af siderne er disk-begrænset her - one-pass-armen har brug for omkring 0,73 GB/s af drevets 0,99, og Newsbin bruger i gennemsnit en tredjedel af det, mens den holder næsten fire processorkerner beskæftiget i otte minutter - så forskellen er klienten, ikke hardwaren. Begge klienter hentede de samme netværksbytes for nyttelasten. Newsbin er et registreret varemærke tilhørende CMCE, Inc.; klienten udgives af DJI Interprises, LLC.
Optællingen
Genvejet august 2026 på en langt større population. Julioptællingen nedenfor så på to grupper; indekset bag den rummer nu 13,2 millioner releases og 174,7 TB på tværs af 114 grupper, og fordelingen har flyttet sig - 7z-arkiver voksede fra under 2% af bytes til en stor andel. Genmålt på den population går omkring 95% af komplette-release-bytes gennem ét gennemløb (94,3% til 96,3% på tværs af fire måder at skære populationen på), og det, der rent faktisk betyder noget, er ikke arkivformen men adgangskoden: omkring en tredjedel af bytes'ene kræver én for overhovedet at give output, uanset hvilken klient du kører. Juli-øjebliksbilledet forbliver nedenfor som det øjeblik, det er.
Til julioptællingen kiggede vi på 890.852 releases, 1,6 millioner filer og 79,6 TB på tværs af de to travleste film- og tv-grupper, hentede og læste derefter arkivhovederne på tusind rigtige opslag for at bekræfte det, filnavnene kun antydede. Optalt i bytes frem for pr. opslag, fordi en million bittesmå filer betyder mindre end én stor.
Det omformede, hvad vi arbejder på. Der er ringe grund til at tune en komprimeringssti, der bærer 1,4% af dataene, så vi tunede de to, der bærer resten.
Kryptering er heller ikke jævnt fordelt. Den skalerer med størrelse:
| Release-størrelse | Andel af alle data | Gemt | Krypteret |
|---|---|---|---|
| 1-5 GB | 29% | 94% | 2% |
| 5-20 GB | 39% | 97% | 2% |
| 20-60 GB | 20% | 67% | 33% |
| over 60 GB | 12% | 51% | 49% |
Almindelige downloads er næsten altid rene gemte arkiver. De store er plat eller krone mellem gemt og krypteret. Den gemte form er det, hver aktuel tabel på denne side kører mod; den krypterede forms disk-historie er målt i dens eget afsnit nedenfor.
Det beskadigede opslag · kørt igen 24. august 2026, alle builds aktuelle
Artikler udløber, servere dropper dem stille, uploads lander ufuldstændige - og skade er der, hvor kløften mellem klienter er bredest, så det får sin egen runde på det nyeste build af hver klient, nzbfast v1.2.2 inklusive: Europa 10 GbE-maskine, fem udbydere, 100 forbindelser pr. klient, samme 6,5 GB-release forgiftet ved tre skadesniveauer, tre gentagelser pr. arm med rækkefølgen ombyttet, hvert ben byte-tjekket mod den rene fil. 63 af 65 ben kom tilbage byte-identiske; de to, der ikke gjorde, er navngivet nedenfor, fordi de er resultater.
| tid til en verificeret, brugbar fil (gennemsnit af 3) | 60 døde artikler | 20 døde | 5 døde |
|---|---|---|---|
| nzbfast 1.2.2 | 13,0 s | 10,0 s | 8,7 s |
| nzbfast 1.2.2, tidlig reparation slået fra | 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 | blev ikke færdig³ | blev ikke færdig³ | 194,0 s |
Hvorfor det beskadigede opslag er hurtigt her. Når en artikel mangler, spørger en klient normalt den næste server, så den næste, indtil hver server har afvist den - en seriel vandring, hvis afvisninger tager alt fra titalls millisekunder til et par sekunder hver, mens downloadet står stille på nul. nzbfast holder op med at spørge: så snart de paritetsdata, den allerede har i hånden, dækker det, der stadig mangler, reparerer den øjeblikkeligt i stedet for at fuldføre vandringen. Det er anden række - den samme binær med den opførsel slået fra er 1,4x til 2,3x langsommere afhængigt af skaden - og runden bekræftede, at mekanismen aktiveredes på hvert aktiveret ben og aldrig på et deaktiveret. Mod den nærmeste rival er marginen 2,4x til 2,7x, uden overlap i nogen af de ni gentagelsespar.
Disk er, hvor marginen er bredest, og det er ikke reparationstricket. Hver fuldførende arm producerede den samme 6,48 GB-fil; vores flyttede 6,2-6,8 GB disk-I/O for at gøre det, NZBGet 12,7-18,5 GB, SABnzbd 13,9-20,3 GB og rustnzb 12,8-13,1 GB. Det er one-pass-pipelinen - rækken med funktionen slået fra flytter de samme 6,2 GB - så det holder på både beskadigede og ubeskadigede opslag.
¹ SABnzbds tre ben ved den kraftigste skade kørte 43, 41 og 60 s - en ægte spredning på identiske input, så gennemsnittet er angivet med intervallet nævnt. ² rustnzb 1.4.5 leverede hvert ben byte-korrekt, og dens omkostning ligger i processortid frem for pålidelighed: omkring 1.620 CPU-sekunder mod et 107 s ur ved den kraftigste skade - omkring femten kerner beskæftiget hele benet igennem - hvor det samme reparerede output koster os omkring 50 CPU-sekunder. ³ Weaver flyttede 1,5 GB og 4,9 GB af de 6,5 inden for vores 20-minutters afskæring ved de to tungere skadesniveauer - det samme ikke-fuldførte i alle tre runder, den er kørt i, over tre separate nætter; afskæringen er vores, og det ikke-fuldførte er resultatet. Ved 5 døde artikler fuldførte den korrekt alle tre gange. Dens processoromkostning der er sin egen historie: omkring 2.325 CPU-sekunder for det 194 s ben, mod vores 20.
Målt 24. august 2026, alle builds aktuelle: nzbfast v1.2.2 (selve releasetagget), NZBGet 26.3-testing (build fra 20. august), SABnzbd 5.1.1, rustnzb 1.4.5, Weaver 0.7.8. En kontinuitetsarm kørte den foregående nats nzbfast-build inden i samme runde og landede inden for ét sekund af v1.2.2 på hver fixtur, så intet her rider på en heldig nat; og rival- konfigurationerne adskiller sig fra foregående rundes kun ved anvendelsessti, tjekket nøgle for nøgle før runden kørte.
Den ærlige kolonne
Dette afsnit findes for de ben, en rival vinder, og det bliver genmålt hver runde frem for kurateret: alt, vi taber, kommer her, navngivet, ved siden af tabellen, der viser det. På det aktuelle build, denne runde, er det tomt for hastighedstab - hvilket er værd at være forsigtig med snarere end tilfreds med, så de byttehandler, der er tilbage, er angivet nedenfor i stedet.
Det, der ikke er forsvundet, er byttehandlen bag de tal, så det er det, dette afsnit siger nu: vi bruger mere hukommelse, end de selvstændige værktøjer gør, og den hurtige tunge reparationssti bruger mest. Vores udpakker og reparatør er bygget til at følge med et løbende download frem for at køre én gang fra en kommandolinje, og det koster resident hukommelse; detaljen står ved siden af komponenttabellerne. Hvis din begrænsning er det mindst mulige hukommelsesaftryk for et enkeltstående job, vinder de dedikerede værktøjer den kolonne, og det lader vi ikke som om er anderledes.
Og runden fra 23. august 2026 tilføjer en post, som vi hellere vil liste her end lade blive i en fodnote: på 6,5 GB-fixturen er Weavers processor- median 2% under vores - 34,9 mod 35,7 CPU-sekunder, med dens egne tre ben spændende fra 34,1 til 56,1 s - så vi kalder det en statistisk uafgjort, og den sidder i omkostningstabellen markeret som den ene celle, vi ikke holder. På 34 GB-fixturen i samme runde er vores CPU lavest, ubetinget.
Sult den for RAM · målt 24. august 2026 på nzbfast 1.2.2
Samme 87 GB-job som runden ovenfor, kørt igen ved faste hukommelsesbudgetter på 2 GB, 1 GB og 256 MB - det, autostørrelsen ville vælge på en 8 GB-maskine, en 4 GB-maskine og et 2 GB NAS. Hvert ben producerede den identiske byte-tjekkede fil, og hukommelseskolonnen fulgte budgettet, aldrig jobbet:
| 87 GB-job, 10 GbE | auto | 2 GB budget | 1 GB budget | 256 MB budget |
|---|---|---|---|---|
| tid til brugbar fil | 94 s | 87 s | 94 s | 102 s |
| spidshukommelse (RSS) | 286 MB | 558 MB | 336 MB | 284 MB |
| disk-I/O (GiB) | 73,2 | 73,2 | 72,8 | 72,7 |
Ét ben pr. budget på release- buildet, gatet mod den samme output-tjeksum som seks-arms-runden. Det strammeste budget koster omkring 9% af væggen, og kun fordi denne linje er 10 GbE - spildte blokke koster kun tid, når linjen overhaler disken, så på en typisk hjemme- forbindelse er et lille budget tæt på gratis. Hele stigen, en 87 GB-download inklusive, passer i 0,3-0,6 GB hukommelse; ved standardindstillinger som leveret kørte jobbet i 286 MB. Ingen anden klient tilbyder et fast, procesbredt hukommelsesbudget; de nærmeste ting er cache-størrelses-håndtag, og runden nedenfor måler, hvad de koster.
Begrænsningen kørt mod feltets egne håndtag. På 34 GB-fixturen (23. august 2026, 1 Gbit-maskine, fem udbydere, 30 af 30 ben byte-korrekte), fik det at holde NZBGet til en tilsvarende cache-begrænsning dens CPU til at mere end fordobles (215,5 til 453,0 CPU-sekunder, 2,10x) for at købe et fald på 52% i dens spidshukommelse, og SABnzbds begrænsning var næsten gratis, men nåede kun en del af dens aftryk. rustnzbs cache-indstilling var dekorativ i det kørte build, og Weaver har slet intet hukommelseshåndtag, så begge kørte ubegrænsede som referencekolonner frem for at blive bedømt ved et budget, de ikke kan holde. Vores egen side af den runde er afløst af v1.2.2-stigen ovenfor, som siger det samme ved 2,5x størrelsen: budgettet er aldrig den bindende begrænsning, fordi ét gennemløb holder så lidt til at begynde med.
Fri plads · målt til megabyten
En skriv-ud-og-pak-ud-klient har brug for plads til arkivbindene og den udpakkede nyttelast samtidig, så et job vil ikke starte uden groft dobbelt så meget fri plads som downloadet. Ét gennemløb har kun brug for nyttelasten - og denne runde målte hvor lidt mere, ved at formindske målbindet, indtil hver klient fejlede. nzbfasts svar er en konstant på omkring 50 MB margen, ikke et forhold, og det holder fra et 6,5 GB-job til et 34 GB-job.
| fri plads jobbet behøver | 6,5 GB-job | 34 GB-job |
|---|---|---|
| nzbfast 1.2.2 | outputtet + 48,6 MB | outputtet + 51,0 MB |
| NZBGet 26.3-testing | ~2.1x nyttelasten | ~2.1x (37,6 GB over outputtet) |
| SABnzbd 5.1.1 | ~2.1x nyttelasten | ~2.1x (37,6 GB over outputtet) |
| rustnzb 1.4.5 | ~2.25x nyttelasten | ~2.25x (42,7 GB over outputtet) |
| Weaver 0.7.8 | ~2.25x nyttelasten | ~2.25x (42,7 GB over outputtet)¹ |
Målt på en 20-core Apple Silicon-maskine, 1 Gbit-linje, fem udbydere, tre gentagelser ved hver grænse, hvert fuldført ben byte-tjekket - rivalrækkerne fra 22.-23. august 2026 (Weavers 34 GB-celle kørt om den 24. august, note 1), og nzbfast-rækken genkørt på v1.2.2-releasebuildet 24. august, som gengav begge grænser præcist, 12 af 12 ben enige på tværs af de to fixturer. Vores celler er en målt bund: jobbet fuldføres 3 af 3 med 48,6 MB og 51,0 MB margen, og nægter 3 af 3 omkring 17 MB under det - så bunden er ægte i begge retninger. Hvad jobbet faktisk holder, lander på outputtet plus omkring 3 MB; margenen betaler for de sidste øjeblikke af pipelinen, aldrig for en anden kopi. Rivalernes celler er deres målte bund på 6,5 GB-jobbet og en bekræftet tilstrækkelighed ved samme forhold på 34 GB-jobbet (3 af 3 byte-korrekte ved præcis det forhold); vi gik ikke deres stige længere ned ved den større størrelse, så deres reelle bund der kan ligge noget under forholdet, og det siger vi frem for at runde i vores egen favør.
Hvordan det rent faktisk ser ud at løbe tør betyder lige så meget som tallet. Ved 17 MB under sin bund rammer nzbfast diskens afvisning på en skrivning, stopper rent med "out of disk space", holder alt, der landede, journalført, og et nyt forsøg genoptager uden at hente igen - en delvis fil du beholder, ikke et mislykket job. ¹ Weavers celle for den store fixtur blev afklaret af en gentagelse den 24. august: tre ud af tre ben byte-korrekte ved samme ~2,25x, hvert af dem hurtigere end det gode ben fra første forsøg, med fri plads identisk ned til byten. Ved første forsøg, den 23. august, var to af dens tre ben gået i stå ved encifrede MB/s med mere end 60 GB stadig fri og havde ramt rundens 40-minutters afskæring. De standsninger kom ikke igen, og riggens standsningsmåling var udrullet og tavs på alle tre ben i gentagelsen, hvilket er en positiv måling og ikke en manglende. Hvad der forårsagede dem er stadig ukendt, og en ren gentagelse er ingen diagnose: der findes nu seks ben ved dette forhold, fire fuldførte, og begge fejl stammer fra ét enkelt vindue på 80 minutter den første nat.
Multiplikatorens konsekvens
For ethvert drev er den linjehastighed, du kan opretholde gennem download, verificering og udpakning, drevets reelle hastighed divideret med klientens I/O- multiplikator. Omkostningstabellerne ovenfor måler vores til omkring 1,0x - hver byte krydser disken omkring én gang - og hver rival til 2,0x til 3,0x for byte-identisk output. Så det samme drev opretholder to til tre gange linjehastigheden under nzbfast, som det ville under en staging-klient. Regnestykket, med multiplikatorerne taget fra de målte tabeller ovenfor:
| linje | nyttelast-hastighed | disk behøvet ved vores ~1.0x | ved 2,2x | ved 3,0x |
|---|---|---|---|---|
| 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 |
Sæt de kolonner op mod, hvad drev reelt opretholder. Et 5400/5900 rpm NAS-drev holder cirka 100-140 MB/s på sine yderste spor og aftager mod 80-100, efterhånden som det fyldes - så gigabit er allerede grænsetilfælde ved 1,0x på den langsomste klasse, hvilket vi siger ligeud, og uden for rækkevidde ved 2-3x. Et 7200 rpm-drev holder cirka 160-220 MB/s. En SATA-SSD's ~550 MB/s begrænser en 2,2x-klient til nær 2 Gbit og bærer omkring 3,5-4 Gbit ved 1,0x. SMR-drev, solgt til NAS-bokse i årevis, er værst tænkeligt specifikt for staging-mønsteret: vedvarende skrivning med gentilbagelæsning kan kollapse til titalls MB/s, når drevets omlægningscache løber tør. Og en multi-gig-linje er samme mur, blot højere oppe: 10 Gbit ved en 2-3x-multiplikator kræver 2,75-3,75 GB/s vedvarende, forbi hvert SATA-drev og forbi mange NVMe-drev, så snart et stort job overhaler deres hurtige cache-zone, mens en ~2 GB/s SSD ved 1,0x følger med linjehastigheden med plads til overs.
Målt frem for påstået, på en struppet disk. Vi begrænsede en disk til 150 MB/s - en hastighed i 5400 rpm-klassen - og kørte samme download to gange: én gang ét gennemløb, én gang efterfulgt af staging-mønsterets skriv-ud, læs-tilbage og udpakning. Ét-gennemløbs- armen fulgte med 1 Gbit-linjen ved 109,9 MB/s, 0,2% under sin egen ubegrænsede hastighed; staging-mønsteret faldt til 59,0 MB/s, 54% af linjen. Fejet parametrisk med ingen linjegrænse tog ét-gennemløbs-armen 97% af, hvad disken end tilbød ved hver grænse (290,7 MB/s af en 300 MB/s-grænse, 145,6 af 150) ved en målt 1,00-1,03x disk-I/O, og staging-mønsteret tog 47-48% ved en målt 3,02x - forholdet konstant på tværs af grænser, hvilket er regnestykket ovenfor gengivet som en måling. 32 ben, hvert output byte-tjekket.
Og engang på rigtig hardware, ubegrænset. Det langsomste drev i vores test- flåde er en TLC-systemdisk på en indbygget Windows 10 GbE-maskine, der opretholder 0,99 GB/s skrivninger, hvor vores hurtigste testmaskine opretholder 5,97. 87 GB Windows-runden ovenfor kørte på den: ét-gennemløbs-armen havde brug for omkring 0,73 GB/s af de 0,99 for at holde 105 s væg - margen til overs på flådens værste disk - hvilket er tabellens øverste højre celle ovenfor, der lander på et rigtigt drev frem for et struppet. Og flådens hurtige ende lukker argumentet fra den anden side: samme 87 GB-job, fuld hastighed ved 10 GbE, bliver færdigt på de samme 70-71 sekunder på et 1,24 GB/s-drev og på et 5,97 GB/s-drev - en 4,8x hurtigere disk flytter væggen med nul, fordi ved en 1,0x-multiplikator løber linjen tør længe før disken gør. For en staging-klient er de to drev forskellige verdener.
Hvad den rig er, og hvad den ikke er. Disken blev begrænset med en styresystem-I/O-controller inde i en virtuel maskine på en 32-core Apple Silicon-maskine, og staging-armen er vores egen binær sat til at skrive, læse tilbage og genskrive på den måde, en staging-klient gør. Ingen rival kørte i den - riggens attrap-linje leverer almindelige filer, en rival også ville håndtere i ét gennemløb, så at pege én mod den ville vise ingenting - hvilket betyder, at tabellen ovenfor er regnestykke forankret i ét målt par, med rivalernes multiplikatorer taget fra de rigtige fem-klient-tabeller ovenfor, og vi mærker det sådan med vilje. Tre ærlighedsnoter følger med. Controlleren budgetterer læsninger og skrivninger separat, hvilket smigrer staging-armen; på en enhed med ét fælles budget, hvilket er hver roterende disk, ville dens andel være lavere endnu. Staging-multiplikatoren er omkring 2x, når bindene stadig er i sidecachen ved tilbagelæsning, og 3x når de ikke er, så et stort job på en normal maskine sidder i 3x-enden. Og søgeomkostningen ved at skrive, læse tilbage og slette hundredvis af binfiler - mod én fil skrevet én gang i rækkefølge - er et argument ud fra trafikkens form, endnu ikke en måling: det kræver en roterende disk, og vi citerer det som et argument, indtil det har en.
Form to · plat-eller-krone for de store releases
Halvdelen af alt, hvad der udgives over 60 GB, er et krypteret arkiv, og det er den form, hvor staging-klienter betaler mest: de låste data skal skrives ud, læses tilbage, låses op og skrives igen. nzbfast låser hvert stykke op, efterhånden som det ankommer, så de låste data aldrig når disken overhovedet. Målt på en rigtig 94 GB krypteret release:
| 94 GB krypteret release, ét gennemløb | målt |
|---|---|
| Skrevet til disk | 90,1 GB - cirka nyttelasten, én gang |
| Mest disk brugt samtidig | 89,6 GB - selve outputfilen |
| Pause efter downloadet | 0,6 s |
Den mest brugte disk samtidig er størrelsen på den fil, du bad om. Der er intet øjeblik under en krypteret download, hvor nzbfast har brug for plads til en anden kopi, og intet oplåsningsgennemløb efter downloadbjælken er fuld - en staging-klient betaler cirka det dobbelte på alle tre af de rækker, hvilket er samme 2x, omkostningstabellerne ovenfor måler på hver anden form.
Disk i brug under én download, samplet hvert femte sekund. Den flade linje er nzbfast; linjen, der stiger til 166 GB til sidst, er skriv-ud-og-lås-op-mønsteret, der betaler for den færdige fil, mens den låste kopi stadig er på disken - målt ved at køre begge mønstre over samme release.
Indlejrede opslag · målt den 28. august 2026
Meget af det, der bliver lagt op, er bevidst svært at åbne. Det rigtige filnavn ligger begravet i et andet arkiv, undertiden et tredje, undertiden i et andet format på hvert niveau, så opslaget røber så lidt som muligt om, hvad det indeholder. Dertil kommer, at opslag ankommer beskadigede: artikler udløber, uploads lander ufuldstændige, og genoprettelsesdataene skal bruges, før noget som helst kan pakkes ud. En downloader går kæden igennem for dig, eller også rækker den dig en mappe med arkiver og stopper.
Vi byggede derfor ti former, der isolerer præcis det, lod hver aktuel klient møde dem og gjorde så det, sammenligninger normalt springer over: hvor en klient stoppede for tidligt, gjorde vi arbejdet færdigt i hånden med standardværktøjerne og tog tid på det også. En klient, der giver op hurtigt, ser hurtig ud, indtil man tæller det arbejde, den efterlader til dig.
| ti indpakkede og beskadigede former | klarede det selv | først efter manuel reparation | nåede aldrig filen |
|---|---|---|---|
| NZBGet 26.3 | 2 af 10 | 8 | 0 |
| SABnzbd 5.1.2 | 5 af 10 | 3 | 2 |
| nzbfast 1.2.4 | 10 af 10 | 0 | 0 |
| rustnzb 1.4.5 | 7 af 10 | 1 | 2 |
| Weaver 0.7.8 | 1 af 10 | 1 | 8 |
nzbfast er den eneste, der klarer alle ti uden hjælp. NZBGet når også filen i hver form, men har brug for 16 runder manuel reparation og udpakning i otte af dem. SABnzbd klarer fem på egen hånd, og to er uopnåelige selv i hånden. Weaver når filen i to.
Mønstret er ikke tilfældigt. De former, nzbfast kommer igennem, og de andre ikke, er de indpakkede og de beskadigede: et arkiv i et arkiv, et formatskift midtvejs, en kæde i fem niveauer og frem for alt et arkiv, der ankommer ødelagt med sine egne genoprettelsesdata ved siden af. På den sidste pakker fire klienter det ydre sæt fejlfrit ud, rækker dig det ødelagte arkiv sammen med det genoprettelsessæt, der ville reparere det, og stopper.
Hvor klienterne udfører det samme arbejde, er forskellen stor. Dette er de syv former, som alle fire udbredte klienter når, inklusive den manuelle reparation, hver enkelt havde brug for:
| de syv former, som alle fire når | tid til en brugbar fil | skrevet til disken |
|---|---|---|
| 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 |
Fire til fem gange hurtigere, på under halvdelen af de skrevne byte. Disktallet er det, der bliver ved med at betyde noget efter downloaden: hver gigabyte i den kolonne er en gigabyte, din disk har måttet tage imod, og de klienter, der bruger et mellemlager, skriver indholdet ud, læser det tilbage og skriver det igen.
Hvor vi ikke er foran, og hvorfor det er værd at sige. På fire af de ti former skriver en konkurrent færre byte end nzbfast under selve downloaden. Hver gang fordi den gjorde mindre: på formen med beskadiget inderarkiv skriver NZBGet 3,29 GB mod vores 4,65, og derefter skriver dens reparationsrunde yderligere 2,91 og ender på 6,20 GB mod vores 4,65. På de øvrige er den klient, der skrev mindst, en, der aldrig nåede filen. Et lavt disktal er ikke altid nøjsomhed.
Dette er kapacitetstest, ikke hastighedstest. Indholdet er lille og serveres fra hukommelsen over en lokal forbindelse, uden udbyder og uden netværk undervejs, så intet her begrænses af downloadhastigheden, og de absolutte sekunder er langt kortere, end de samme former ville tage i virkeligheden. Om en form overhovedet kræver håndarbejde er en egenskab ved formen og klienten og kan overføres direkte. Sekunderne sammenligner klienter, der udfører identisk arbejde; de forudsiger ikke, hvor lang tid en rigtig opgave tager.
Fuldstændige resultater pr. form, hvad hver form er, og metoden findes på datasiden om indlejrede arkiver.
Hvorfor det betyder noget
Flashlager slides ned ved at blive skrevet til. En 94 GB release koster dit drev omkring 90 GB skrivning under nzbfast; under en klient, der stager og pakker ud, koster den samme release cirka det dobbelte. På et NAS med harddiske fjerner ét-gennemløbs-formen også det lange enkelttrådede gennemløb i slutningen af hver krypteret download - en pause målt til 20 sekunder på en hurtig 32-core arbejdsstation med hardware-accelereret oplåsning, og tilsvarende længere på de lavere-ydende maskiner, de fleste rent faktisk kører dette på. Vi citerer det lille tal, fordi det er det, vi målte.
Komponent-opgør
Reparation (PAR2) og udpakning (RAR) er vores egen indbyggede kode frem for medfølgende tredjeparts-binærer, så vi kører dem også selvstændigt mod de dedikerede værktøjer på identiske korpora, på fire maskiner, der spænder over det, en læser reelt kunne eje. En tid tæller kun, når outputtet er byte-identisk med kildens nyttelast: hvert RAR-tal nedenfor er sha256-tjekket mod kilden, og hver repareret fil mod det uberørte sæt.
Den forrige runde af denne tabel brugte 100 MB til 200 MB pr. form, hvilket var en fejl: omkring 28 ms procesopstart var 40% af gemt-benet, og den rækkefølge, det producerede, overlever ikke ved en realistisk størrelse. Denne runde er 1 GB nyttelast pr. form, og det ændrer flere svar, herunder nogle den anden vej. Arkiver oprettes af officiel rar 7.23, så intet værktøj bedømmes på input fra sin egen encoder, og de samme bytes kører på hver maskine.
Hvad der er i nyttelasten betyder mere, end det ser ud til. En nyttelast bygget af blokkopier gør hver komprimeret form til en hukommelseskopi-benchmark; en nyttelast af ren tekst gør den til en literal-og-Huffman-benchmark; vi målte begge, og de er ikke enige om, hvem der vinder. Så de fire komprimerede former bruger lige tredjedele tekst, strukturerede poster og ukomprimerbare bytes, og de to former i hver ende af det spænd er separate ben med vilje: store er ukomprimerbar, og repetitive er næsten udelukkende matches. Bygger og testramme ligger i repositoriet, så korpuset kan genopbygges byte for byte.
Kørt igen 23. august 2026 på 1.2.2- motoren, og gennemgangen holder. De tre værktøjer, en læser oftest vejer - vores, unrar 7.23 og rarpar 0.2.5 - blev kørt igen på 32-core-desktoppen på releasemotoren (den udpakningskode, der kører mod, er byte-identisk med 1.2.2-tagget), seks flettede runder, minimum pr. værktøj, hvert bens output tjekket mod nyttelast-manifestet. Sekunder, lavere er bedre:
| 1 GB nyttelast, 32 cores (23. aug 2026) | gemt | 400 små filer | solid | repetitivt | stort, 3 bind | krypteret | 128 MiB-ordbog |
|---|---|---|---|---|---|---|---|
| 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 |
Alle syv former vores, på minimum og på medianen, 1,16x til 4,29x mod unrar. Disse tider er ikke sammenlignelige celle for celle med den bredere tabel nedenfor - testrammen er revideret siden den tabels runder, og runde-antallet er forskelligt - så læs hver tabel mod sig selv. Den bredere tabel beholder sine egne datoer og sit felt af seks værktøjer, og dens nzbfast-kolonne beskriver den motor, 1.2.2 leverer: genkørslen ovenfor målte det aktuelle motor- niveau med den tabels build på alle syv former, afgjort af hardware-instruktions- tællinger (0,14% færre for samme væg), så de celler er ikke et forældet builds tal med et aktuelt mærkat på. Denne genkørsel er også, hvor A/A-reglen i opsætningsafsnittet blev optjent. Et pas samme dag rapporterede først én form som en lille regression mod vores eget forrige build, og aflæsningen overlevede at køre begge armrækkefølger. En A/A-kontrol - den samme binær kørt mod en byte-identisk kopi af sig selv - viste, at testrammen gav hvilken arm der end kørte først, omkring en straf på 1,5%: den identiske binær vandt kun 6 af 15 runder fra den første plads, og at bytte rækkefølger ophæver ikke en bias, der altid rammer den, der er først. Hardware-instruktionstællinger afgjorde spørgsmålet, testrammen ikke kunne - det nyere build afvikler 0,14% færre instruktioner for samme ur- tid, så der var ingen regression. Hver vores-build-mod-vores-build-sammenligning, vi publicerer nu, bærer den kontrol.
Hele feltet, sekunder, lavere er bedre. Bedste af tre, værktøjer flettet inden i hver runde frem for kørt i blokke, output tjekket mod kildens nyttelast ved hver eneste kørsel. Et værktøj, der producerede forkerte bytes, får en korrekthedsnote, aldrig en hurtig tid. rarpar er Weavers egen RAR- og PAR2-kode, bygget fra kilde ved bd87611; vi fastpinner commit'en frem for en version, fordi dens crates bærer tre forskellige versionsnumre.
| sekunder, 1 GB pr. form | gemt | 400 små filer | solid | repetitivt | stort, 4 bind | krypteret | 128 MiB-ordbog |
|---|---|---|---|---|---|---|---|
| Kraftig desktop, 32 cores | |||||||
| 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 | forkert output² | ingen kryptering³ | ingen stor ordbog⁴ |
| 7-Zip | 0,30 | ikke understøttet¹ | ikke understøttet¹ | ikke understøttet¹ | ikke understøttet¹ | ikke understøttet¹ | ikke understøttet¹ |
| Ældre desktop, 20 cores | |||||||
| 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 | forkert output² | ingen kryptering³ | ingen stor ordbog⁴ |
| 7-Zip | 0,33 | ikke understøttet¹ | ikke understøttet¹ | ikke understøttet¹ | ikke understøttet¹ | ikke understøttet¹ | ikke understøttet¹ |
| Laptop, 14 cores / 20 tråde, 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 | ingen CLI⁵ | ingen CLI⁵ | ingen CLI⁵ | ingen CLI⁵ | ingen CLI⁵ | ingen CLI⁵ | ingen CLI⁵ |
| bsdtar | 0,81 | 16,72 | 15,14 | 1,13 | forkert output² | ingen kryptering³ | ingen stor ordbog⁴ |
| 7-Zip | 0,76 | 5,45 | 5,79 | 0,65 | 4,21 | 4,13 | 2,51 |
| Laptop, 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 |
Hvor feltet ikke kunne følge med, og hvorfor. ¹ Den 7-Zip, der kører her, er Homebrew-pakken, som afviser hver komprimeret form med ERROR: Unsupported Method og kun læser den gemte på macOS. En tidligere version af denne side lagde det på 7-Zips macOS-build, hvilket var forkert: Homebrew bygger den uden den ikke-frie unRAR-codec, mens den macOS-build, 7-zip.org leverer, bærer codec'en og afkoder alle syv former, ligesom Windows-buildet gør. Genmålt 14. august 2026. Installerer du 7-Zip fra projektet frem for fra Homebrew, beskriver denne kolonne ikke det, du har. ² bsdtar har ingen RAR5-understøttelse af flere bind og producerede en afkortet fil uden at rapportere en fejl, så det ben er en korrektheds-fejl frem for en langsom tid; vores testramme fangede det ved at tjekke outputtet, hvilket er hvorfor det er værd at tjekke outputtet. ³ bsdtar: Encryption is not supported. ⁴ bsdtar: Declared dictionary size is not supported. ⁵ unar leverer intet Windows-kommandolinjeværktøj, så laptop-feltet er fem. ⁶ M5 Max-gruppen kører de tre værktøjer, en macOS-læser rent faktisk ville gribe til - unrar, rarpar og os; unar, bsdtar og 7-Zip blev ikke kørt på den maskine. Dens unrar er 7.22, det nyeste build, der kører uovervåget der.
Hver form på hver maskine undtagen én, og den ene er uafgjort. De korte-match-formerne kommer ned til to specifikke ting i vores dekoder. Et match på to til toogtredive bytes plejede at betale for et fuldt kald ind i platformens hukommelseskopi-rutine, og kaldet kostede mere end kopien; at kopiere fast toogtredive bytes gennem et register i stedet er hvorfor repetitive, solid og 128 MiB-ordbogen - de tre former bygget af korte matches - alle er hurtige på én gang. Og tjeksummen kører nedstrøms for skriverens tråd frem for på den. Den ene celle, vi ikke vinder udelukkende, er den gemte form på 32-core-desktoppen, hvor unrar og vi er tre millisekunder fra hinanden på et ben, der udelukkende flytter bytes - identisk ved denne tabels præcision, så begge celler er markeret, og det bedømmes som uafgjort, ikke et tab og ikke en sejr.
Den form, vi vinder mest på, er den, usenet rent faktisk udgiver hundredvis af ad gangen: 400 små filer, 4,3× og 4,4× mod unrar og 5,4× til 5,5× mod rarpar. Det er parallelisme pr. medlem, og det er forskellen mellem en udpakker skrevet til en downloadkø og én skrevet til en kommandolinje. Den gemte form, som optællingen ovenfor siger er 84% af bytes'ene på linjen, er næsten uafgjort for de tre seriøse værktøjer, fordi alle på det tidspunkt bare flytter bytes.
Ét valg værd at erklære. Arkiverne pakkes med kompressoren fastpinnet til fire tråde. RARs blokopdeling følger ellers kernetallet på den maskine, der pakkede arkivet, så en 32-core-maskine og en 20-core-maskine producerer forskellige bytes fra samme input, og maskinerne holder op med at være sammenlignelige. At fastpinne det gør udpaknings-korpuset byte-identisk overalt, hvilket er pointen, men det sætter også et loft for, hvor meget af afkodningen der kan køre parallelt - så da de to tætteste former var tab, kørte vi dem igen mod arkiver pakket med alle 32 tråde, for at tjekke at fastpinningen ikke var årsagen. Det var den ikke: solid gik fra 4,2% bagud til 2,4% bagud og 128 MiB-ordbogen fra 6,6% til 6,3%, samme rækkefølge begge veje. Begge er nu sejre på det fastpinnede korpus med en bredere margin, end det tjek kunne forklare.
Hvorfor der ikke er nogen RAR4-række, og hvad der sker med de opslag. Hver form ovenfor er RAR5 eller RAR7, hvilket er det, usenet udgiver i dag. Ældre RAR4-arkiver dukker stadig op, og den samme motor læser dem, inklusive de komprimerede og adgangskode-beskyttede former, i det samme ene gennemløb som de nyere, frem for at skrive bindene til disk og pakke dem ud bagefter. De får ingen række her, fordi den officielle rar 7.23 ikke længere kan oprette RAR4, så der er intet neutralt korpus at køre feltet mod; det arbejde er i stedet tjekket mod arkiver skrevet af WinRAR 3.00, byte for byte mod unrar.
Korpus: 1 GiB tilfældig nyttelast pakket i gemt-tilstand i 21 RAR-bind, derefter to PAR2-sæt ved 10% redundans, ét ved 1 MiB-blokke og ét ved 64 KiB, derefter faste skadeskort. Hver kørsel bruger samme protokol: frisk kopi, læs hele korpuset én gang for at varme cachen op, tag så tid. Bedste af tre flettede runder; hvert repareret bind sammenlignes med det uberørte sæt ved hver runde. Lavere er bedre.
En rettelse om korpuset, fordi en tidligere version af denne side overdrev det. Vi sagde, at hver maskine kørte et byte-identisk korpus, tjekket ved hash. At hashe hvert bind af hvert sæt viser, at det er sandt for 32-core-desktoppen og Windows-laptoppen, som matcher præcist, og ikke for 20-core-desktoppen, som rummer et andet tilfældigt udtræk af samme form: de samme 21 bind i de samme størrelser, de samme to blokstørrelser, og skade verificeret ved de samme 3, 101 og 1.500 blokke spredt over det samme antal filer. Hvert tal inden i en række er stadig målt på bytes, som hvert værktøj i den række deler, hvilket er det, hver sammenligning hviler på. Men rækkerne er ikke fire visninger af ét input, og eftersom nyttelastens karakter er omkring 7% værd for én konkurrents scanning, er det værd at sige frem for at glatte ud.
Hvilken par2 er hvilken. Den originale par2cmdline er referenceimplementeringen, alle forgrenede fra. par2cmdline-turbo er den fork, der leverer ParPars håndskrevne SIMD Galois-felt-kerner: det er præcis, hvad "turbo" betyder, og det er hvorfor turbo, frem for originalen, er værktøjet værd at måle mod. Begge turbo-kolonner nedenfor kører de samme ParPar-kerner. Hvad der adskiller dem, er ikke aritmetikken men buildet og flagene.
Bekræftet på leveringsbuildet mod den aktuelle rival, 24. august 2026. Disse tabeller blev målt før 1.2.2 blev skåret, og før par2cmdline-turbo udgav 1.5.0 (20. august 2026), så 20-core-kolonnen blev kørt igen mod begge: vores 1.2.2-releasebuild mod turbo 1.5.0, tre flettede runder pr. ben, hver repareret fil sammenlignet med det uberørte sæt. Alle fire ben gengiver sig - vores 0,18 / 0,30 / 0,75 / 2,02 mod de 0,19 / 0,33 / 0,74 / 2,07 trykt her, og turbo 1.5.0 lander inden for et par procent af buildet i tabellen på hvert ben og begge konfigurationer. Cellerne står som publiceret; de andre tre maskiner beholder deres egne datoer.
Så konkurrenten optræder to gange, og én af de kolonner er dens bedste tilfælde frem for dens standard. Den release-binær, du ville downloade, er kompileret til en generisk baseline-CPU og hasher kun et par filer ad gangen; at bygge samme kilde til den faktiske vært-CPU og give -T16 lader den bruge de instruktioner, den maskine reelt har, og hashe seksten filer ad gangen. På laptoppen er det op til 2,6x værd, udelukkende fra build og flag. Bedøm os på den tunede kolonne, som er den hårdere sammenligning; som-leveret-kolonnen er det, nogen der downloader den, rent faktisk oplever. par2cmdline er originalen, version 1.2.0, bygget fra kilde på hver maskine. rarpar er Weavers egen PAR2-implementering, bygget fra kilde med dens Metal GPU-backend slået til. MultiPars par2j er kun Windows, så den optræder kun i Windows-laptop-rækkerne. M5 Max-rækkerne kører de to værktøjer med aktuelle macOS arm64-builds ved siden af de to turbo-kolonner; par2cmdline klassisk blev ikke kørt på den maskine.
| sekunder, 1 GiB-sæt | desktop, 32 cores | desktop, 20 cores | laptop, 14 cores | laptop, M5 Max |
|---|---|---|---|---|
| ingen skade - ren verificering | ||||
| nzbfast | 0,11 | 0,19 | 0,23 | 0,18 |
| par2-turbo, tunet | 0,31 | 0,38 | 0,42 | 0,28 |
| par2-turbo, som leveret | 0,86 | 1,12 | 1,06 | 0,80 |
| par2cmdline | 3,03 | 3,84 | 3,81 | ikke kørt |
| rarpar | 2,62 | 3,45 | 2,96 | 2,32 |
| MultiPar | kun Windows | kun Windows | 1,34 | kun Windows |
| 3 blokke beskadiget - få døde artikler | ||||
| nzbfast | 0,22 | 0,33 | 0,46 | 0,26 |
| par2-turbo, tunet | 0,51 | 0,66 | 0,78 | 0,48 |
| par2-turbo, som leveret | 1,08 | 1,46 | 1,42 | 1,00 |
| par2cmdline | 3,64 | 4,58 | 4,98 | ikke kørt |
| rarpar | 4,27 | 5,53 | 4,99 | 3,64 |
| MultiPar | kun Windows | kun Windows | 1,71 | kun Windows |
| 101 blokke beskadiget | ||||
| nzbfast | 0,48 | 0,74 | 0,96 | 0,66 |
| par2-turbo, tunet | 0,88 | 1,17 | 1,40 | 0,85 |
| par2-turbo, som leveret | 2,04 | 2,65 | 2,69 | 1,84 |
| par2cmdline | 5,57 | 7,57 | 11,7 | ikke kørt |
| rarpar | 4,73 | 5,73 | 5,74 | 4,17 |
| MultiPar | kun Windows | kun Windows | 2,65 | kun Windows |
| 1.500 blokke beskadiget - 91% af genoprettelsesdata brugt | ||||
| nzbfast | 1,00 | 2,07 | 2,46 | 1,61 |
| par2-turbo, tunet | 3,00 | 5,52 | 6,73 | 4,07 |
| par2-turbo, som leveret | 5,21 | 8,20 | 9,30 | 6,01 |
| par2cmdline | 67,7 | 86,1 | 403 | ikke kørt |
| rarpar | 7,15 | 11,49 | 14,22 | 6,91 |
| MultiPar | kun Windows | kun Windows | 5,40 | kun Windows |
Alle seksten nzbfast-celler - fire maskiner ved fire skadesniveauer - er vores, flere med mere end 2× mod det tunede build og med 2,3× til 7,7× mod det, du rent faktisk ville downloade. De tunge-skade-cellerne er de interessante, og noten nedenfor forklarer algoritmen bag dem.
Originalen er tilbage i tabellen, og det er værd at se hvorfor forken findes. En tidligere version af denne side droppede par2cmdline-kolonnen med den begrundelse, at den var langsommere end alt andet i runden, hvilket er sandt og ikke en god nok grund: det er implementeringen, næsten hvert andet værktøj nedstammer fra, og læsere fortjener baseline'en frem for vores påstand om den. På det tungeste skadesniveau tager den omkring 69 s, hvor SIMD-forken tager 3,2 s, og vi tager 3,1 s. Den faktor tyve er hele argumentet for de håndskrevne Galois-felt-kerner, og det er samme argument, vi fører for vores egen.
Let skade er det tilfælde, der betyder noget. En håndfuld fejlede artikler er langt mere typisk end 101 døde blokke, og intet i nærheden af 1.500. Det meste af en let reparation er slet ikke Reed-Solomon-matematikken, det er at læse og MD5'e en gigabyte, hvilket er hvorfor 3-blok-rækken følger ren-verificering-rækken frem for reparationsrækkerne.
Det tungeste skadesniveau er en anden slags arbejde, og det får en anden algoritme. Det sidste niveau beskadiger 1.500 blokke på tværs af alle 21 bind og forbruger omkring 91% af genoprettelsesdataene, hvilket er der, hvor Reed-Solomon-aritmetikken, frem for hashing eller disk, bliver næsten alt arbejdet. Leveringsbuildet beregner de tungeste reparationer med en talteoretisk transformation i stedet for den klassiske Galois-felt-fold - samme matematik, evalueret i en form, der skalerer langt bedre ved høje blokantal: 2,7× foran det tunede build på 20-core-desktoppen, og på Windows-laptoppen 2,7× foran det tunede build og 2,2× foran MultiPar. Let skade kører stadig den klassiske sti, hvilket er hvorfor de andre niveauer knap nok flyttede sig: transformationen betaler sig kun over omkring 512 beskadigede blokke, så derunder bruger dispatcheren den ikke.
En hurtigere sti er kun værd at have, hvis den ikke kan tage fejl. Begge stier beregner samme størrelse og er bit-identiske ved konstruktion, og hver reparation på denne side var gatet på, at de genopbyggede filer matchede det uberørte sæt: 228 tidtagne reparationer på tværs af maskinerne i denne runde, nul uoverensstemmelser. Leveringsbuildet stoler ikke på den historik. Hver reparation verificerer sit eget output mod filhashene, og en der fejlede, ville automatisk blive gjort om med den klassiske sti, logge afvigelsen, og beholde den klassiske sti resten af den kørsel. Indstillingen findes i betjeningspanelet som Fast PAR mode, hvis du hellere vil undvære den helt, og maskiner med for lidt hukommelse til den afviser den selv frem for at forsøge og fejle. Genmålt 2. august på det aktuelle build: de to desktops lander inden for et par procent af denne tabel, og med Fast PAR mode slået fra falder 20-core-desktoppen tilbage til præcis den klassiske stis langsommere tid, hvilket er det, der siger, at sejren er metoden og ikke betingelserne.
Windows-laptoppens kolonne krævede en rettelse, og den går mod os. Windows degraderer vedvarende baggrundsarbejde til sine effektivitetskerner efter et par sekunder. Vores dæmon fravælger det ved opstart, og det kan ingen af de andre værktøjer, så en tidligere version af denne side publicerede deres struppede tider, som var de værktøjernes egne. At køre den maskine igen med hvert værktøj løftet til høj prioritet flytter hele feltet: på det tungeste skadesniveau går par2-turbo fra 22,4 s til 6,41, og rarpar fra 59,2 s til 14,4, og for én udgave af denne side vendte det kolonnen fra vores til én, vi tabte. Hele laptop-kolonnen måles sådan nu - rettelsen bliver stående, selvom rækken siden er vundet tilbage af algoritmeændringen ovenfor, fordi feltets tider på den maskine kun er ærlige med struppet løftet.
Når PAR2 ikke kan dække skaden, er genoprettelsesposten inde i selve RAR'en den sidste forsvarslinje. Indtil 1.0.8 fejlede vores på ethvert arkiv over omkring 13 MB, så dette ben kunne slet ikke køres. Skaden er tre huller på 3.000 bytes ved 20%, 50% og 80% gennem det beskyttede område. Begge værktøjer producerede output byte-identisk med den uberørte fil, og vores er byte-identisk med det, rar r selv skriver. Bedste af tre, 32-core-desktop, begge værktøjer kørt igen sammen 2. august.
| 16 MB | 32 MB | 128 MB | 512 MB | 2 GB | |
|---|---|---|---|---|---|
| nzbfast | 0,049 | 0,059 | 0,130 | 0,400 | 1,527 |
| rar 7.23 repair | 0,278 | 0,466 | 1,065 | 2,291 | 6,400 |
| fordel | 5,7× | 7,9× | 8,2× | 5,7× | 4,2× |
En tidligere version af denne side viste 512 MB-størrelsen som et tab, og forklarede det som prisen for at arbejde gennem bindet i stykker frem for at holde det hele i hukommelsen. Den forklaring var korrekt dengang og er nu forældet: omkostningen var en bit-seriel CRC64 i reparationsstien, erstattet med en tabeldrevet, og tabet forsvandt med den. Der er ikke længere et krydsningspunkt, og det begrænsede arbejdssæt blev bevaret. 2 GB-størrelsen er her, fordi de bind, en dæmon rent faktisk møder, er 8 GB til 20 GB, ikke 512 MB, og et ben, der stopper under det reelle interval, er ikke meget af en test.
Hvad der flyttede dette snit, og kontrollen der siger det. At finde hvilke blokke der er beskadiget, var blevet den største fase af denne reparation - større end selve reparationsaritmetikken - og den kørte på én tråd, læste 64 KB ud af hver gruppe på tværs af filen, én gang pr. gruppe. Den laver nu ét sekventielt gennemløb i filrækkefølge med kontrolsummerne pr. shard beregnet parallelt, og det reparerede bind klones frem for kopieres, hvor filsystemet kan gøre det. Detektion alene faldt fra omkring 300 ms til 18 ms på 512 MB-arkivet, hvilket er det meste af, hvad der flyttede sig ovenfor. Kontrollen er kolonnen ved siden af vores: rar r blev kørt igen i de samme runder på samme maskine og kom tilbage inden for et par procent af sine tidligere tider, så ændringen i hullet er vores, ikke benchmarkens.
M5 Max gentager mønsteret, kørt 31. juli med samme korpus og gates: 0,050 / 0,066 / 0,171 / 0,581 s mod rar rs 0,211 / 0,335 / 0,751 / 1,735 på tværs af 16 MB til 512 MB-størrelserne - 3,0× til 5,1× hurtigere; 2 GB-størrelsen blev ikke kørt på den maskine. De tal går forud for omskrivningen af detektion beskrevet ovenfor, så de er det ældre builds, beholdt her som den anden maskine frem for som et aktuelt tal.
Weavers rarpar mangler kun i denne tabel, og ikke af eget valg: den implementerer ikke denne reparation. Bedt om at reparere et af disse arkiver svarer den "embedded Rar5 recovery record detected ... this API restores standalone .rev recovery volumes only and does not consume embedded RR/protect data" og efterlader filen beskadiget. Den optræder i hver anden sammenligning på denne side: alle fire PAR2-ben ovenfor, alle syv udpakningsformer længere oppe, og genoprettelsesvolumen-benet lige nedenfor, som er præcis det arbejde, den siger den udfører - og som den vinder.
.rev-filerDen anden halvdel af RARs egen genoprettelseshistorie, og indtil denne runde det største tab på denne side. En .rev-fil er et selvstændigt genoprettelsesvolumen: tre af dem ved siden af et sæt på 21 bind kan genopbygge et hvilket som helst tre bind, der aldrig ankom. Korpus: 1 GiB gemt i 21 bind på 50 MB med rar rv3, hvorefter bind 4, 11 og 19 blev slettet - tre tabt mod tre genoprettelsesvolumener, hvilket er det værste tilfælde, sættet stadig kan overleve. Bedste af tre, hvert genopbygget bind sammenlignet med det uberørte.
| desktop, 32 cores | desktop, 20 cores | |
|---|---|---|
| nzbfast | 0,44 | 0,50 |
rar 7.23 rc | 0,46 | 0,58 |
rarpar restore-volumes | 0,48 | 0,61 |
32-core-cellen her var 3,12 s mod rar rcs 0,47 i det seneste snit af denne side, publiceret som 6,6× langsommere og det værste tal på den. Årsagen var, at sletnings-løsningen kørte ved omkring 48 MB/s genopbygget output, hvor RARLabs klarede 320; den kører nu på samme tabeldrevne aritmetik som resten af genoprettelseskoden, hvilket er en syvdobling og vender tabet til en sejr på begge maskiner. Marginerne er 3% og 14%, så det er en sejr værd at sige ligeud frem for at overskrifte, og grunden til at det overhovedet siges, er at tabet blev sagt først.
Dette ben findes, fordi Weavers rarpar implementerer præcis dette og bad om at blive målt på det. Den vandt komfortabelt, da vi først publicerede det, og vi publicerede det dengang af den grund.
Filmatchning var aldrig omkostningen, hvilket er værd at notere, fordi det var den intuitive mistænkte: genoprettelsesvolumener bærer ingen filnavne, så vi identificerer hvilke pladser der overlevede ved at tjeksumme hvert bind på disken frem for at stole på, hvad de hedder, og mod et ubeskadiget sæt, hvor matchning er alt, der sker, tager hele gennemløbet 0,18 s.
Hvad der ellers flyttede sig, og hvor det ikke ses. To flere motorændringer landede, som disse korpora ikke kan se, listet her så tallene ovenfor ikke læses som hele historien: RAR5-arkiver med titusindvis af medlemmer opløser hvert medlem én gang frem for at gennemgå listen pr. arbejder, hvilket er 3× mindre processortid ved 40.000 medlemmer; og RAR1.3-bitlæseren arbejder et ord ad gangen, hvilket er 2×. Ingen af dem optræder ovenfor, fordi formerne her har 400 medlemmer og intet RAR1.3.
Hvad vi bevidst ikke gør: vi opretter aldrig PAR2. En downloader har ingen grund til det, og ParPar ejer det ben. Vi køber også hastighed med hukommelse på begge motorer: udpakning topper omkring 240 MB mod unrars 41 MB, og verificering omkring 126 MB mod turbos 7 MB, fordi det er de indbyggede motorer, der følger et løbende download frem for at være selvstændige engangsforestillinger. 128 MiB-ordbog-formen er det værste tilfælde, ved omkring 304 MB mod unrars 139 MB. Den tungeste reparation koster nu også hukommelse: den hurtigere metode for 512-plus manglende blokke arbejder ud fra genoprettelsesdataene holdt resident, så den får lov til op til en fjerdedel af maskinens RAM, med et loft på 4 GB, og en maskine der ikke kan afse det, tager i det stille lavhukommelsesmetoden i stedet - samme aritmetik og samme tider som de midterste rækker i PAR2-tabellen, bare ikke de 3× på den sidste. Vil du have det mindst mulige residente sæt for et enkeltstående job, vinder de dedikerede værktøjer stadig den kolonne.
Kapacitet, ikke mikro-benchmarks
| nzbfast | SABnzbd 5 | NZBGet 26 | rustnzb | Weaver | Usenapp | Newsbin | |
|---|---|---|---|---|---|---|---|
| pipelinet NNTP | ja | fra som standard | nej | ja | -⁷ | - | - |
| fuld verificering under download | hver blok | bagefter | hurtigtjek | bagefter | bagefter | bagefter | bagefter |
| udpakning under download | løbende, ingen bind på disk | direkte udpakning⁴ | direkte udpakning⁴ | stager, pakker så ud⁵ | nej | nej | nej |
| disk behøvet for et N-GB-opslag | ~1×N | ~2×N | ~2×N | ~2×N | ~2×N | ~2×N | ~2×N |
| fuldførbarheds-afgørelse før download | blok-eksakt | nej | sundhed i % | nej | -⁷ | artikeltjek | nej |
| begrænset hukommelse (aldrig swap) | budgetteret | cache-grænse-indstilling | cache-indstilling | nej | nej | - | - |
| hæver sin egen grænse for åbne filer | ja, ved opstart | -⁸ | -⁸ | -⁸ | -⁸ | -⁸ | -⁸ |
| tjek filen når som helst under download | ja | nej | nej | nej | nej | sekventielt | nej |
| indbygget indekser + opslagsvæg | ja, uden nøgle | nej | nej | nej | nej | søge-UI | gruppebrowser |
| Sonarr/Radarr drop-in | SAB API + Newznab | indbygget | indbygget | SAB-kompatibel API | NZBGet-kompatibel RPC⁷ | nej | nej |
| fjernbetjening fra mobil (nzb360/LunaSea) | ja | ja | ja | nej | -⁷ | nej | nej |
| overvågningsliste auto-hent + opgraderinger | indbygget | via *arr | via *arr | nej | nej | Watchdog | regler |
| enkelt selvstændig binær | ja | app-bundter; Python på Linux | ja | ja | ja | .app | .exe |
| open source | GPL⁶ | GPL | GPL | MIT | ja | betalt | betalt |
| platforme | mac/win/linux (x64 + ARM)/docker/flatpak | mac/win/linux/docker/NAS-pakker | mac/win/linux/docker/NAS + indbygget | linux/win (mac fra kilde) | mac-binær; kilde andetsteds⁷ | kun mac | kun win |
⁴ Direkte udpakning materialiserer stadig bindene først: 2× skrivninger og 2× disk. ⁵ rustnzb 1.4.5 leverer hver fixtur byte-korrekt i 23. august 2026-runden, og dens målte disk-I/O der er omkring 2,1x nyttelasten - så den stager bindene og pakker ud efter downloadet frem for at udpakke løbende (se omkostningstabellerne). Dens ældre builds (1.3.4-1.3.9) leverede obfuskerede bind markeret "Completed" uden at udpakke; den fejl er rettet opstrøms i 1.4.5. ⁶ GPL-3.0-or-later. ⁷ Weaver 0.7.8, den nyeste leverede binær, identitet bevist ved hash (den publicerede release- tarballs sha256 og binæren i den matcher begge det, vi kører mod); dens målte rækker kommer fra 23. august-omkostningsrunden, dens kapacitetsceller markeret "-" er funktioner, vi ikke har vurderet, frem for bekræftede fravær; den taler en NZBGet-kompatibel RPC, hvilket er hvordan vores testramme styrer den, men vi har ikke prøvet mobil-fjernbetjeningerne mod den. Usenapp/Newsbin er enkelt-platforms kommercielle læsere med downloader-funktioner; de er listet fordi folk spørger, ikke fordi de konkurrerer på hastighed.
⁸ macOS starter et program med en grænse på 256 åbne filer, og et fuldt sæt forbindelser på tværs af flere servere kan overskride den. nzbfast hæver sin egen grænse ved opstart på macOS og Linux: den beder om 65.536, trapper ned indtil systemet accepterer, går aldrig over systemets hårde grænse, og fortsætter med hvad den havde, hvis hvert trin bliver afvist. Windows har ingen grænse af denne slags pr. proces. De andre kolonner er ikke vurderet frem for bekræftede fravær: vi har ikke læst nogen anden klients opstartskode. Værd at vide på grund af, hvordan det fejler: et program, der løber tør for åbne filer midt i et job, har en tendens til at forsvinde frem for at rapportere en fejl.
Transportbevis · målt på 1.2.2
Tidligere snit af denne side bar et bredere sæt af transportdemonstrationer - multi-linje-mætningskørsler, per-RTT-pipelining- gevinster, et modtryksbevis, afkodningslofts-målinger - kørt på builds, som v1.2.2 siden har afløst. Under denne sides regel bliver de trukket tilbage frem for at blive stående og ældes, og de vender tilbage, efterhånden som de bliver skåret igen på den aktuelle release; de tre påstande ovenfor er dem, der allerede er genmålt på v1.2.2.