मैंने सालों से gzip जाना है, हाल ही में मैंने bzip को काम में इस्तेमाल होते देखा। क्या वे मूल रूप से समतुल्य हैं, या उनमें से एक पर महत्वपूर्ण पेशेवरों और विपक्ष हैं?
मैंने सालों से gzip जाना है, हाल ही में मैंने bzip को काम में इस्तेमाल होते देखा। क्या वे मूल रूप से समतुल्य हैं, या उनमें से एक पर महत्वपूर्ण पेशेवरों और विपक्ष हैं?
जवाबों:
Gzip और bzip2 कार्यात्मक रूप से समकक्ष हैं। (एक बार एक bzip था, लेकिन ऐसा लगता है कि यह पूरी तरह से दुनिया के चेहरे से गायब हो गया है।) अन्य सामान्य संपीड़न प्रारूप ज़िप, आरएआर और 7z हैं; ये तीनों कम्प्रेशन और आर्काइविंग (एक में कई फाइलें पैक करना) दोनों करते हैं। गति, उपलब्धता और विशिष्ट संपीड़न अनुपात के संदर्भ में यहां कुछ विशिष्ट रेटिंग हैं (ध्यान दें कि ये रेटिंग कुछ व्यक्तिपरक हैं, इन्हें इंजील के रूप में न लें:)
decompression speed (fast > slow): gzip, zip > 7z > rar > bzip2
compression speed (fast > slow): gzip, zip > bzip2 > 7z > rar
compression ratio (better > worse): 7z > rar, bzip2 > gzip > zip
availability (unix): gzip > bzip2 > zip > 7z > rar
availability (windows): zip > rar > 7z > gzip, bzip2
जैसा कि आप देख सकते हैं, एक स्पष्ट विजेता नहीं है। यदि आप उन प्रोग्रामों पर भरोसा करना चाहते हैं जो पहले से ही इंस्टॉल किए जाने की संभावना है, तो विंडोज पर ज़िप का उपयोग करें (या यदि संभव हो तो, सेल्फ-एक्सट्रैक्टिंग आर्काइव, क्योंकि विंडोज इनमें से किसी के साथ जहाज नहीं करता है) और यूनिक्स पर गज़िप करें। यदि आप अधिकतम संपीड़न चाहते हैं, तो 7z का उपयोग करें।
आरएआर भी नकारात्मक है, जहां तक मुझे पता है, कोई मुफ्त सॉफ्टवेयर नहीं है जो आरआर अभिलेखागार बनाता है या जो सभी आरएआर अभिलेखागार को अनपैक कर सकता है। अन्य स्वरूपों में मुफ्त कार्यान्वयन और कोई (गंभीर) पेटेंट दावे नहीं हैं।
bzip
गायब हो गया क्योंकि यह पेटेंट किए गए एल्गोरिदम कोडिंग का उपयोग कर रहा था। पेटेंट की वजह से इसकी जगह हफमैन कोडिंग का उपयोग करने के लिए फिर से डिजाइन किया गया था। इस री-डिज़ाइन के दौरान, नई सुविधाएँ और सुधार जोड़े गए। मूलभूत चीज जो इसे एक अद्वितीय संपीड़न एल्गोरिदम बनाती है, हालांकि, बर्सो-व्हीलर रूपांतरण, दोनों संस्करणों में समान रहे।
जहाँ तक मैं बता सकता हूँ, gzip समग्र रूप से तेज़ है, जबकि bzip समग्र बेहतर (छोटे) संपीड़न का उत्पादन करता है।
एल्गोरिदम में अलग-अलग समय, मेमोरी, स्पेस ट्रेडऑफ़ हैं। ध्यान रखें कि इन एल्गोरिदम को कुछ समय पहले लिखा गया था और आपके स्मार्टफोन में उन दिनों के डेस्कटॉप की तुलना में कई गुना अधिक सीपीयू होता है।
आपकी पिक सार्वभौमिकता (.gz) और थोड़ी अधिक संपीड़न (.bz2) के बीच है। केवल आप कह सकते हैं कि आप किसकी अधिक देखभाल करते हैं।
.Gz का एक फायदा यह है कि यह एक धारा को संकुचित कर सकता है, एक क्रम जहाँ आप पीछे नहीं देख सकते। यह इसे HTTP स्ट्रीम का आधिकारिक कंप्रेसर बनाता है। मुझे इसकी वजह से एक बार गज़िप का उपयोग करने की आवश्यकता थी, लेकिन संभावना नहीं है कि आपको इसके बारे में सोचने की आवश्यकता होगी।
यहां उन साइटों की एक सूची दी गई है जो संपीड़न एल्गोरिदम का परीक्षण करते हैं, बस bzip और gzip खोजने के लिए आपको कुछ खुदाई करनी होगी, लेकिन अधिकांश साइट एल्गोरिदम की विशेषताओं को सूचीबद्ध करेंगे। इस तरह आप तुलना कर सकते हैं कि आपके लिए क्या महत्वपूर्ण है, आकार (संपीड़न अनुपात), समय, मेमोरी, सीपीयू।
http://www.maximumcompression.com/benchmarks/benchmarks.php
मेरे अनुभव में bzip ने gzip की तुलना में लगातार बेहतर संपीड़न अनुपात की पेशकश की है। प्रबंधक और bzip एल्गोरिथ्म के रूप में 7zip के साथ, 7zip मल्टी कोर प्रोसेसर का उपयोग कर सकता है।
प्रति http://tukaani.org/lzma/benchmarks.html , gzip bzip2 के रूप में दो बार के रूप में तेजी से संपीड़ित करता है, और के रूप में तेजी से दस गुना decompresses।
उदाहरण के लिए, s3 कैशिंग के साथ, ट्रैविस आदि पर, जहाँ आप सेक / डीकंपप्रेस की गति चाहते हैं, न केवल छोटे आकार के, gzip एक अच्छा व्यापार बंद हो सकता है।