जवाबों:
यह बहुत डेटा संपीड़ित होने पर निर्भर करता है। शून्य से भरी 1Gb फ़ाइल के साथ एक त्वरित परीक्षण ~ 120Kb का एक संकुचित आकार देता है, इसलिए आपकी 10Kb फ़ाइल संभवतः ~ 85Mbytes में विस्तारित हो सकती है।
उदाहरण के लिए, यदि डेटा में कम अतिरेक है, तो संग्रह में एक प्रारूप में छवियां होती हैं जो मूल रूप से संपीड़ित होती हैं (gif, jpg, png, ...), तो gzip आगे और अधिक संपीड़न नहीं जोड़ सकती है। प्रोग्राम निष्पादन योग्य जैसे द्विआधारी फ़ाइलों के लिए आप 2: 1 संपीड़न तक देख सकते हैं, सादे पाठ के लिए, HTML या अन्य मार्कअप 3: 1 या 4: 1 या अधिक संभावना नहीं है। आप कुछ मामलों में 10: 1 देख सकते हैं, लेकिन ~ 8700: 1 एक एकल प्रतीक के साथ भरी हुई फ़ाइल के साथ देखा जाता है, ऐसा कुछ है जिसे आप समान रूप से कृत्रिम परिस्थितियों में नहीं देख सकते हैं।
आप जांच सकते हैं कि एक गज़िप फ़ाइल को अनपैक करने से कितना डेटा होगा, वास्तव में डिस्क के साथ इसकी असम्पीडित सामग्री को लिखने के बिना, gunzip -c file.gz | wc --bytes
- यह फ़ाइल को अनकैप्ड करेगा, लेकिन परिणाम को स्टोर नहीं करेगा, बल्कि उन्हें पास करने के बजाय wc
बाइट्स की संख्या को गिनेगा। फिर उन्हें त्याग दें। यदि संपीड़ित सामग्री एक टार फ़ाइल है जिसमें कई छोटी फाइलें होती हैं, तो आप पा सकते हैं कि पूरे संग्रह को अनपैक करने के लिए विशेष रूप से अधिक डिस्क स्थान की आवश्यकता होती है, लेकिन ज्यादातर परिस्थितियों में, पाइपिंग gunzip
आउटपुट से लौटी हुई गिनती wc
आपकी आवश्यकता के अनुसार सटीक होने वाली है।
phpinfo()
, बहुत अच्छी तरह से संपीड़ित करता है। उस आउटपुट में तकनीकी जानकारी में प्राकृतिक भाषा के औसत भाग की तुलना में अधिक प्रत्यक्ष पुनरावृत्ति होती है, और वर्णमाला वितरण संभवतः कम चिकना होता है जो हफ़मैन चरण को बेहतर परिणाम प्राप्त करने में मदद कर सकता है।
आमतौर पर आपको 95% से अधिक संपीड़न नहीं मिलता है (ताकि 10kB gzipped डेटा ~ 200kB तक कम हो जाएगा), लेकिन विशेष रूप से तैयार की गई फाइलें हैं जो तेजी से विस्तार करती हैं। के लिए देखो 42.zip
, यह (अर्थहीन) डेटा के कुछ पेटाबाइट्स को विघटित करता है।
Https://stackoverflow.com/a/16794960/293815 से उद्धृत शब्दशः
अपस्फीति प्रारूप का अधिकतम संपीड़न अनुपात 1032: 1 है। ऐसा इसलिए है क्योंकि सबसे लंबे समय तक चलने वाले इनकोडिंग को 258 बाइट्स कहा जा सकता है। प्रत्येक ऐसे रन के लिए कम से कम दो बिट्स की आवश्यकता होती है (लंबाई कोड के लिए एक बिट और दूरी कोड के लिए एक बिट), इसलिए 4 * 258 = 1032 असम्पीडित बाइट्स प्रति एक संपीड़ित बाइट को एन्कोड किया जा सकता है।
आप gzip के परिणाम को कम करके अधिक संपीड़न प्राप्त कर सकते हैं। आम तौर पर यह संपीड़न में सुधार नहीं करता है, लेकिन बहुत लंबे समय तक चलता है।
वैसे, डिफ्लेट द्वारा उपयोग किया जाने वाला LZ77 दृष्टिकोण रन-लेंथ एन्कोडिंग की तुलना में अधिक सामान्य है। केवल एक लंबाई के बजाय, एक लंबाई / दूरी जोड़ी का उपयोग किया जाता है। यह कुछ दूरी से एक स्ट्रिंग को कॉपी करने की अनुमति देता है, या बाइट की नकल करता है जैसे कि एक की दूरी के लिए रन-लंबाई में, या तीन की दूरी के साथ बाइट्स के ट्रिपल की नकल करते हुए, आदि।
किसी भी संपीड़न एल्गोरिदम का संपीड़न अनुपात डेटा के संकुचित होने (उस डेटा की लंबाई के अलावा) का एक कार्य होगा।
यहाँ मैक्सकॉम पर एक विश्लेषण है ,
जैसे नमूनों में से एक को देखो,
कई फ़ाइल संपीड़न बेंचमार्क परीक्षणों का सारांश
फ़ाइल प्रकार: एकाधिक फ़ाइल प्रकार (कुल में 46) # इस परीक्षण में फ़ाइलों को संपीड़ित करने के लिए: 510 कुल फ़ाइल आकार (बाइट्स): 316.355.757 औसत फ़ाइल आकार (बाइट्स): 620,305 सबसे बड़ी फ़ाइल (बाइट्स): 18,403,071 सबसे छोटी फ़ाइल (बाइट्स): 3,554
आपके प्रश्न का उत्तर, इनपुट पर निर्भर करता है। आपको यह अंदाजा लगाने के लिए कि छह मिनट के वीडियो को कंप्रेशन कैसे किया जाता है।
https://www.youtube.com/watch?v=ZdooBTdW5bM
आपको इससे क्या मिलना चाहिए कि संपीड़न दर प्रत्येक वर्ण की आवृत्ति पर निर्भर करती है, इस प्रकार कोई अधिकतम अधिकतम दर नहीं है, यह इनपुट पर निर्भर करता है, अंग्रेजी पाठ के लिए यह लगभग 65 प्रतिशत है।