Açıklamalar · bir
Bu istemciyi hızlı kılan şeyin çoğu daha hızlı bir ağ yolu değildir. Verinin yalnızca bir kez hareket etmesidir. İşte bunun uygulamada ne demek olduğu, neden doğrudan açmadan farklı bir şey olduğu, hangi arşiv biçimlerinin bundan sağ çıktığı, ve yaz-sonra-geri-oku döngüsünü kaldırmanın gerçek bir makinede aslında ne değerde olduğu.
Başlangıç noktası
Bir gönderi, birlikte bir arşiv birimleri kümesi oluşturan binlerce küçük kodlanmış makaledir; o birimler de sırayla gerçekten istediğiniz dosyayı içerir. Birinden ötekine geçmek geleneksel olarak dört ayrı iş olmuştur; her biri bir sonraki başlamadan önce biter.
Her aşama doğrudur, ve sonuç yerindedir. Ama içerik iki kez yazılmış, en az iki kez okunmuş, ve doruk noktasında disk, yalnızca tek bir kopyasını istediğiniz bir işin iki tam kopyasını tutmak zorunda kalmıştır. Yaşadığınız saat, dört aşamanın peş peşe toplamıdır; bu yüzden bir istemci hızlı bir indirme bildirip yine de sizi bekletebilir.
Değişiklik
Tek geçiş, baytların ağdan son varış yerine, diskinizde hiç arşiv dosyası hâline gelmeden gitmesi demektir. İkinci ya da üçüncü aşama yoktur, çünkü ikisinin de işi, birinci aşama hâlâ sürerken olur.
Uygulamada, her makale geldikçe bellekte kodu çözülür ve doğrudan iki şeye birden verilir. Doğrulayıcı onu hemen eşlik verisine karşı denetler; böylece doğruluk, veriyi sonradan yeniden okuyarak değil, veri inerken saptanır. Çıkarıcı gelen baytları arşivin içindeki bir konum olarak ele alır, hangi içerik dosyasının hangi parçasına ait olduklarını hesaplar, ve onları oraya yazar.
Arşiv birimleri hiçbir zaman birleştirilmez. İndirme havadayken çıkarıcının anladığı bir yapı olarak varlar, ve diskinize ulaşan tek şey istediğiniz dosyadır. Son makale geldiğinde yapılacak neredeyse hiçbir şey kalmaz; bitiş sürelerimizin bir indirme artı kuyruk yerine indirme süresinin kendisine yakın olmasının nedeni budur.
Ölçülebilir sonuç: aynı iş için yaklaşık yarısı kadar yazarız, çok daha azını geri okuruz, ve boş alanda iki katı yerine kabaca içeriğin kendi boyutu kadarına ihtiyaç duyarız. 190 GB'lik bir sürümde bu, yaklaşık 157 GB boş alan demektir, yaklaşık 313 GB'ye karşı; ve disk trafiğinin kabaca üçte biri.
İki şey bunu kulağa geldiğinden daha zor kılar, ve bunlar bu yaklaşımın seyrek olmasının nedenidir. Makaleler sırayla gelmez, dolayısıyla çıkarıcının baştan başlayan bir akış yerine rastgele konumlara inen baytlarla baş etmesi gerekir. Ve sıkıştırılmış bir arşiv ortasından açılamaz, dolayısıyla işin gerçekten sıra gerektiren her parçası varsayımla geçiştirilmek yerine tanınmalı ve ayrıca ele alınmalıdır.
Sorulan karşılaştırma
Doğrudan açma iyi bir özelliktir ve ona sahip istemciler onunla daha iyi durumdadır. Ayrıca sorunun başka bir bölümünü çözer, ve fark tam da önemli olduğu yerde ortaya çıkar.
Doğrudan açma, indirme bitmeden çıkarmaya başlar; böylece üçüncü aşama birinci aşamayı izlemek yerine onunla örtüşür. Yapmadığı şey, birinci aşamayı kaldırmaktır. Arşiv birimleri hâlâ eksiksiz olarak diskinize yazılır, çünkü açıcı, sıradan dosyaları okuyan sıradan bir açıcıdır; doğrudan açma yalnızca onu daha erken başlatır. İki kopya hâlâ vardır, iki yazma hâlâ olur, ve boş alan gereksinimi değişmez.
| birimleri diske yaz | gereken boş alan | içeriğin kaç kez yazıldığı | |
|---|---|---|---|
| İndir, sonra aç | evet, sonra geri okuma | ~2× iş | 2 |
| Doğrudan açma | evet, daha erken geri okunur | ~2× iş | 2 |
| Tek geçiş | hiç yazılmaz | ~1× iş | 1 |
İkinci fark, biçim basit olmadığında ne olduğudur. Doğrudan açma, birimler belirdikçe işi sıradan bir açıcıya devrettiğinden, durumun sorunsuz olmasına ihtiyaç duyar: birimler kullanılabilir bir sırayla mevcut, bekleyen bir onarım yok, önce kilidi açılması gereken bir şey yok, ve içeriği kendisi arşiv olmayan bir arşiv. Bunlardan biri sağlanmadığında yapılacak akıllıca şey geri çekilip sona açmaya dönmektir, ve olan da budur. Doğru bir sonuç ve alışılmış zamanlamayı alırsınız.
Çıkarıcımız en baştan sırasız baytlar çevresinde kurulduğundan, o durumlar onun için istisna değildir. Asıl ayrım budur: daha erken başlamamız değil, sıklıkla sağlanmayan koşullara bel bağlamamamız.
Bundan gerçekte ne sağ çıkar
Böyle bir tasarım ancak tertemiz bir en iyi duruma değil, gerçekten karşılaştığınız gönderilere uyuyorsa değerlidir. Şu anki durum: hiçbir kapsayıcı biçimi yalnızca diskte işlenmiyor. RAR, 7z ve zip'in hepsi tek geçiş yolundan gidiyor.
| biçim | tek geçiş | notlar |
|---|---|---|
| RAR, depolanmış (sıkıştırmasız) | evet | ortam sürümlerinde olağan durum |
| RAR, sıkıştırılmış | evet | dış katman olarak sıkıştırılmış bir arşiv dâhil |
| RAR 1.5, 3, 4 ve 5 | evet | biçimin dört kuşağının tümü |
| 7z | evet | deflate ile sıkıştırılmış içerikler dâhil |
| zip | evet | bzip2 ve LZMA içerikleri dâhil |
| Şifreli içerik | evet | parolayla, şifreli zip dâhil |
| Şifreli başlıklar | evet | dosya adlarının da gizli olduğu durumda |
| Parola zincirleri | evet | her katmanın parolası bir üstteki katmanın içine konmuş |
| İç içe arşivler | evet | uçuşta iç içelikten çıkarılır, ayarlanabilir bir derinliğe kadar |
| Birkaç katmanda hasarlı | evet | her düzeyde onarım, yine tek geçiş |
| Sayısal olarak bölünmüş kümeler | evet | name.001 tarzı bölmeler |
| Kendiliğinden açılan arşivler | disk geçişi | arşiv dosyanın başında başlamaz |
Bölünmüş zip (.z01) | disk geçişi | ve daha seyrek görülen bazı zip türevleri |
| Sürdürülen işler | disk geçişi | yeniden başlatmadan sonra sürdürülen bir iş alışılmış biçimde biter |
Üç ret de dürüsttür ve aynı biçimde davranır: iş, alışılmış yol kullanılarak doğru şekilde tamamlanır, ve o indirme için olağan iki kopyalı zamanlamayı alırsınız. Hiçbir şey başarısız olmaz; yalnızca bu sayfanın geri kalanının anlattığı biçimde hızlı olmaktan çıkar. Kendiliğinden açılan arşivler çaba eksikliğinden değil yapısal bir nedenle reddedilir: bir arşivi ilk baytlarından tanımak, ilk baytlar bir program olduğunda işleyemez.
İç içelik ve şifreleme satırları ciddiye alınmaya değer olanlardır, çünkü çoğu istemcinin işi size geri verdiği yer burasıdır. On iç içe biçimden oluşan üretilmiş bir derlemde, içeriği yeniden adlandıran bir istemcinin yine de puan alması için içerik özetiyle notlandırılarak, 9 biçimi müdahalesiz tamamladık, 10 üzerinden; en yakın istemci 5'ini, iki tanesi de 2'sini tamamladı. Otomatik olarak tamamlayamadığımız, on düzeyli bir merdiven; öntanımlı beş derinlik sınırında temiz biter ve en derin katmanı sağlam bir arşiv olarak bırakır, sınırı yükseltirseniz tümüyle tamamlanır. O turlar tam ızgarasıyla kıyaslama sayfasındadır.
Neden yapmaya değer
Daha hızlıdır, hiç de gösterişli olmayan bir nedenle. 60 GB yazıp geri okumak hızlı bir katı hâl sürücüsünde bile bedava değildir, ve daha yavaş her şeyde çoğu zaman ağ yerine asıl darboğaz odur. Bir yazma ile iki okumayı kaldırmak o süreyi saatinizden bütünüyle çıkarır. Kazanç tam da en çok fark edildiği yerde en büyüktür: büyük işlerde, ve diski en hızlı parçası olmayan makinelerde.
Aşınmayı yarıya indirir. Katı hâl sürücülerinin içinde sonlu sayıda yazma vardır, ve her içeriği iki kez yazan bir indirici, size hiçbir yarar sağlamadan o bütçeyi iki kat hızla harcar. Etkin bir kullanıcı için olağan bir yıl olan birkaç yüz terabaytlık indirme boyunca, fark bir sürücünün ömrünün kayda değer bir bölümüdür.
Neyin sığacağını değiştirir. Boş alan bir başarım özelliği değil, bir evet ya da hayırdır. Kendi boyutunun iki katı kadar pay isteyen bir iş ya çalışır ya çalışmaz. Kabaca içeriğin boyutu kadarına ihtiyaç duymak, alışılmış yaklaşımın düpedüz durduğu makine ve birimlerde işlerin tamamlanması demektir; 190 GB'lik bir sürümün burada yaklaşık 157 GB boş alana sığmasının, yaklaşık 313 GB yerine, nedeni de budur.
Daha az işlemci zamanına mal olur. Veriyi diskten iki kez geçirmemek, bunu yapmanın işini ortadan kaldırır; ve indirme sırasında doğrulamak, içeriği denetlemek için ikinci bir geçiş olmaması demektir. İşlemci maliyetimiz gigabayt başına yaklaşık 1.7 işlemci saniyesinde düz kalır, 35 GB'lik bir işten 190 GB'liğe kadar, ki yararlı özellik budur: gigabayt başına maliyet, iş büyüdükçe büyümez.
Daha az bellekte, ve sınırlı bellekte çalışır. Baytlar biriktirilmek yerine geldikçe tüketildiğinden, çalışma kümesi işin boyutunun bir işlevi değil, sizin belirlediğiniz bir bütçedir. 190 GB'lik bir sürümün yaklaşık 1.1 GB kullanılabilir belleği olan bir makinede işlenmesine izin veren de budur. Önemli olan ayrım sayı değil biçimdir: işle birlikte büyüyen bellek er ya da geç makinenizin bitiremeyeceği bir işle karşılaşır, ve size söyleyerek değil, takas yaparak ya da öldürülerek başarısız olur.
Hepsi bir arada bakıldığında bunlar bir kıyaslamayı kazanmaktan çok, yazılımın nerede çalışabildiğiyle ilgilidir. Boş alanın yarısına, yazmaların yarısına ve sınırlı miktarda belleğe ihtiyaç duyan bir tasarım, küçük bir ev sunucusunda, daha eski bir dizüstünde ya da bir NAS'ta çalışır; bu yazılımın epey bir bölümünün gerçekten yaşadığı yer de burasıdır.
Bu sayfadaki her rakam ölçülmüştür ve kıyaslama sayfasında yanında yapı ve tarihiyle yayımlanmıştır; kaybettiğimiz turlar dâhil. Orada da belirtilen dürüst karşı ağırlık: canlı bir indirmeye eşlik etmek üzere kurulmuş bir çıkarıcı ve onarıcı, komut satırından bir kez çalıştırılan bağımsız bir araçtan daha fazla yerleşik bellek tutar; dolayısıyla kısıtınız hâlihazırda sahip olduğunuz bir dosya üzerinde tek seferlik bir iş için mümkün olan en küçük ayak izi ise, o sütunu adanmış araçlar kazanır.