Xz, gzip, और bzip2 के बीच, कौन सा संपीड़न एल्गोरिथम सबसे कुशल है?


16

Xz, gzip, और bzip2 के बीच, कौन सा कम्प्रेशन अल्गोरिथम सबसे छोटे तारकोल को संकुचित करते समय सबसे छोटी फ़ाइल का आकार और सबसे तेज़ गति देता है?


'सर्वश्रेष्ठ' के रूप में 'सबसे छोटी फाइलों में जिसके परिणामस्वरूप'?
हेन्नेस

मुझे नहीं पता, मैं प्रश्न को खोजने के लिए किसी को खोजने की कोशिश कर रहा था ताकि मैं एक उत्तर के रूप में अपना परीक्षण जोड़ सकूं। मुझे यह भी पता नहीं है कि यह बात क्यों बंद हो गई। @ करन
नाथन २०५५

1
ओह, यह आसान क्यों बंद हो गया। "बेस्ट" अत्यधिक व्यक्तिपरक है और आमतौर पर चर्चा या गैर-रचनात्मक उत्तर की ओर जाता है। सबसे अच्छा संपीड़न सबसे छोटा फ़ाइल आकार हो सकता है, सबसे तेज़ संपीड़न, कम से कम शक्ति का उपयोग किया जाता है (जैसे लैपटॉप पर), कम से कम सिस्टम पर प्रभाव (जबकि प्राचीन एकल चलने वाले प्रोग्रामों में से केवल एक कोर का उपयोग करके), ... या एक संयोजन। उन सभी के।
हेन्नेस

पढ़ने के लिए एक दिलचस्प लेख tomshardware.com/reviews/winrar-winzip-7-zip-magicrar,3436.html (विंडोज़ आधारित है, और 7zip, मैजिकर, WinRAR और WinZip पर xz, gz या bz के बजाय, लेकिन फिर भी दिलचस्प है) और पृष्ठभूमि की जानकारी प्रदान करना)।
हेन्नेस

@ हेनीज़ - मैंने जो शोध किया था, उसके साथ सबसे अच्छी जगह बदलने के लिए पोस्ट को साफ किया। इसके अलावा, आपके द्वारा उल्लिखित लेख के लिए धन्यवाद, मैं इसे आज बाद में पढ़ूंगा।
नाथन २०५५ ११'१३

जवाबों:


15

मेरे तनाव परीक्षण में, मैंने सूचीबद्ध तीन प्रारूपों का उपयोग करके 464 मेगाबाइट डेटा संकुचित किया। Gzip ने 364 MB फ़ाइल लौटा दी। Bzip2 ने एक 315 MB फ़ाइल लौटा दी। Xz ने 254 MB फ़ाइल लौटा दी। मैंने एक साधारण गति परीक्षण भी किया:

संपीड़न:

1: गज़िप

2: Xz

3: Bzip2 (मेरा प्रशंसक काफी समय से बह रहा था जब यह जा रहा था, यह दर्शाता है कि मेरा Athlon II काफी तनावपूर्ण था)

विसंपीड़न:

1: Xz

2: गज़िप

3: बज़िप 2

कृपया ध्यान दें कि ये सभी परीक्षण 7-ज़िप के नवीनतम संस्करण के साथ किए गए थे।

Xz अच्छी तरह से गोल संपीड़न के लिए सबसे अच्छा प्रारूप है, जबकि Gzip गति के लिए बहुत अच्छा है। Bzip2 अपने संपीड़न अनुपात के लिए सभ्य है, हालांकि xz को संभवतः इसके स्थान पर उपयोग किया जाना चाहिए।


2
अच्छा शोध। क्या आपने (कम से कम) bzip2, द्वारा दिए गए विभिन्न संपीड़न स्तर के विकल्पों की कोशिश की है bzip2 -9 <file>?
एरॉन मिलर

@AaronMiller - नहीं, 7-ज़िप के माध्यम से उन का उपयोग करना संभव है?
नाथन 2055

यह ऐसा प्रतीत होता है, हालांकि मुझे यकीन नहीं है कि किस हद तक: dotnetperls.com/7-zip-examples , अनुभाग "स्विच मी" देखें।
आरोन मिलर

7
जिज्ञासा से बाहर, परीक्षण फ़ाइल किस प्रकार का डेटा था?
मिथुनदोमिनो

ध्यान दें कि विभिन्न डेटा प्रकारों का परिणाम अलग-अलग संपीड़ित आकारों में होगा। उदाहरण के लिए यहाँ देखें ।
प्लोनी

4

मैंने 1.1GB लिनक्स इंस्टॉलेशन vmdk इमेज पर अपना स्वयं का बेंचमार्क बनाया:

rar    =260MB   comp= 85s   decomp= 5s
7z(p7z)=269MB   comp= 98s   decomp=15s
tar.xz =288MB   comp=400s   decomp=30s
tar.bz2=382MB   comp= 91s   decomp=70s
tar.gz =421MB   comp=181s   decomp= 5s

अधिकतम सभी संपीड़न स्तर, सीपीयू इंटेल I7 3740QM, मेमोरी 32GB 1600, रैम डिस्क पर स्रोत और गंतव्य

मैं आम तौर पर दस्तावेजों की तरह सामान्य फ़ाइलों को संग्रहित करने के लिए rar या 7z का उपयोग करता हूं।
और सिस्टम फाइलिंग के लिए मैं .tar.gz या .tar.xz का उपयोग फ़ाइल-रोलर या टार के साथ -z या -J विकल्पों के साथ करता हूँ - साथ में टार के साथ मूल रूप से संपीड़ित करने के लिए संरक्षित करें और अनुमतियों को भी वैकल्पिक रूप से .tar.7z या संरक्षित करें। .tar.rar का उपयोग किया जा सकता है)

अद्यतन: क्योंकि टार केवल सामान्य अनुमतियाँ और एसीएल को संरक्षित करता है, वैसे भी सादे .7z प्लस बैकअप और पुनर्स्थापना अनुमतियाँ और एसीएल को मैन्युअल रूप से गेटफ़ेकल और सीफ़ैक्ल के माध्यम से उपयोग किया जा सकता है, जो फ़ाइल संग्रह या सिस्टम फ़ाइल बैकअप दोनों के लिए सबसे अच्छा विकल्प लगता है क्योंकि यह पूर्ण होगा अनुमतियाँ और ACL को सुरक्षित रखें, चेकसम, अखंडता परीक्षण और एन्क्रिप्शन क्षमता है, केवल नकारात्मक पक्ष यह है कि p7zip हर जगह उपलब्ध नहीं है


छात्र, rar का विकल्प क्या था? कोलीवास द्वारा lrzip की कोशिश क्यों नहीं की जाती है , यह आभासी डिस्क छवियों के लिए अच्छा काम करना चाहिए।
ऑक्सक्स

मैं RAR से Git की ओर पलायन कर रहा हूं और अपनी पाठ फ़ाइलों और सब कुछ के लिए btrfs के लिए tarballs; RAR का उपयोग करने का मेरा कारण प्रदर्शन नहीं है, मैं इसका उपयोग रिकवरी रिकॉर्ड, प्रत्येक फ़ाइल के लिए अलग-अलग फ़ाइल-स्तर 256bit चेकसम और ... जैसी सुविधाओं के कारण कर रहा हूँ।
Sudoer

3

मुझे लगता है कि यह लेख बहुत दिलचस्प परिणाम प्रदान करता है।

http://pokecraft.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO

सबसे अधिक आकार के कुशल प्रारूप xz और lzma हैं, दोनों ही -e पैरामीटर के साथ उत्तीर्ण हुए हैं।

सबसे तेज एल्गोरिथ्म दूर lzop और lz4 हैं जो 1.3 सेकंड में gzip से बहुत कम नहीं एक संपीड़न स्तर का उत्पादन कर सकते हैं जबकि gzip ने 8.1 सेकंड लिया। संपीड़न अनुपात lz4 के लिए 2.8 और gzip के लिए 3.7 है।

इस लेख से निकाले गए कुछ परिणाम यहां दिए गए हैं:

  • गज़िप: 8.1s @ 3.7

  • lz4: 1.3s @ 2.8

  • xz: 32.2s @ 5.43

  • xz -e: 6m40 @ 7.063

  • xz: 4m51s @ 7.063

इसलिए अगर आपको वास्तव में तेजी की जरूरत है, तो lz4 भयानक है और अभी भी 2.8 संपीड़न अनुपात प्रदान करता है।

यदि आपको बाइट को अलग करने की आवश्यकता है, तो अधिकतम संपीड़न स्तर पर xz (9) कर्नेल स्रोत जैसी पाठ फ़ाइलों के लिए सबसे अच्छा काम करता है। हालांकि, यह बहुत लंबा है और बहुत सारी मेमोरी लेता है।

एक अच्छा जहां समय और स्थान पर प्रभाव को कम करने के लिए आवश्यक है gzip। यह वह है जिसका मैं उत्पादन वातावरण के मैनुअल दैनिक बैकअप बनाने के लिए उपयोग करूंगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.