मेरे पास एक प्रश्न है जो मुझे लगभग 6 मिलियन पंक्तियां देता है, जो स्मृति में एक बार में सभी को संसाधित करने के लिए बहुत बड़ा है।मैं स्कैला में डेटा संरचना के आकार का अनुमान कैसे लगा सकता हूं?
प्रत्येक क्वेरी एक Tuple3 [स्ट्रिंग, Int, java.sql.Timestamp] लौट रही है। मुझे पता है कि स्ट्रिंग लगभग 20 वर्णों, यूटीएफ 8 से अधिक नहीं है।
मैं इन tuples में से किसी एक के अधिकतम आकार को कैसे काम कर सकता हूं, और अधिक आम तौर पर, मैं इस प्रकार एक स्कैला डेटा-संरचना के आकार का अनुमान कैसे लगा सकता हूं?
मुझे जिस मशीन का उपयोग मैं कर रहा हूं उस पर 6 जीबी है। हालांकि, स्कैला-लिस्ट में स्काला-क्वेरी का उपयोग करके डेटाबेस से डेटा पढ़ा जा रहा है।
अच्छा बिंदु, मैं स्ट्रिंग प्लस ऑब्जेक्ट ओवरहेड में अतिरिक्त ओवरहेड के बारे में भूल गया। फिर भी, यह बहुत अधिक डेटा नहीं है। –
स्ट्रिंग सरणी पर 24 प्लस 2 प्रति वर्ण क्यों? आईआईआरसी, एक ऐरे एक गैर-सरणी के साथ 8 बाइट बनाम 4 बाइट्स, साथ ही तत्व भी है। –
@DanielC।सोब्राल - ऑब्जेक्ट ओवरहेड प्लस लम्बाई है, जो 64 बिट मशीन पर 16 बाइट्स है, इसलिए मैं थोड़ी देर से बंद था। –