मान लें कि मुझे एक कंप्यूटर से दूसरे कंप्यूटर पर, बहुत तेज़ नेटवर्क पर कुछ डेटा भेजने की आवश्यकता है ... उदाहरण के लिए मानक 100Mbit कनेक्शन (~ 10MB / s)। मेरी डिस्क ड्राइव मानक HDD हैं, इसलिए उनकी गति कहीं 30MB / s और 100MB / s के बीच है। इसलिए मुझे लगता है कि मक्खी पर डेटा को संपीड़ित करने से मदद मिल सकती है।
लेकिन ... मैं सीपीयू द्वारा सीमित नहीं होना चाहता। यदि मैं एक एल्गोरिथ्म चुनता हूं जो सीपीयू पर गहन है, तो स्थानांतरण वास्तव में बिना संपीड़न के धीमा हो जाएगा।
यह GZIP और BZIP2 जैसे कंप्रेशर्स के साथ मुश्किल है क्योंकि आप आमतौर पर पूरे स्थानांतरण के लिए एक बार संपीड़न ताकत निर्धारित करते हैं, और मेरे डेटा स्ट्रीम कभी-कभी आसान होते हैं, कभी-कभी संपीड़ित करना मुश्किल होता है - यह प्रक्रिया को उप-रूप बनाता है क्योंकि कभी-कभी मैं पूर्ण सीपीयू का उपयोग नहीं करता हूं और कभी-कभी बैंडविड्थ को हटा दिया जाता है।
क्या कोई संपीड़न कार्यक्रम है जो वर्तमान सीपीयू / बैंडविड्थ के अनुकूल होगा और मीठे स्थान को हिट करेगा ताकि हस्तांतरण इष्टतम होगा? आदर्श रूप से लिनक्स के लिए, लेकिन मैं अभी भी सभी समाधानों के बारे में उत्सुक हूं। मुझे GZIP / BZIP2 decompressors के साथ संगत कुछ देखना अच्छा लगेगा, लेकिन यह आवश्यक नहीं है।
इसलिए मैं कुल हस्तांतरण समय का अनुकूलन करना चाहता हूं, केवल बाइट्स की राशि भेजने के लिए नहीं।
इसके अलावा, मैं वास्तविक समय की जरूरत नहीं है ... वास्तविक समय संपीड़न पर्याप्त है। गंतव्य होस्ट डेटा को अपने खाली समय में बाद में संसाधित कर सकता है। मुझे पता है कि यह बहुत नहीं बदलता है (संपीड़न आमतौर पर बहुत अधिक सीपीयू-गहन विघटन की तुलना में होता है), लेकिन अगर कोई समाधान है जो इस तथ्य का उपयोग कर सकता है, तो सभी बेहतर।
हर बार मैं अलग-अलग डेटा ट्रांसफर कर रहा हूं, और मैं वास्तव में इन वन-टाइम ट्रांसफर को जल्द से जल्द करना चाहता हूं। तो मैं मजबूत संपीड़न के कारण तेजी से कई स्थानान्तरण प्राप्त करने से लाभ नहीं होगा।
धन्यवाद,