के लिए स्मृति आवश्यकताओं को कम करने के लिए मैं adjacency_list < vecS, vecS, bidirectionalS का उपयोग कर रहा हूं ...> बड़े पैमाने पर। मेरे पास एक बार में इतने सारे ग्राफ लोड किए गए हैं कि स्मृति कोई समस्या बन जाती है। मैं स्थैतिक प्रोग्राम विश्लेषण कर रहा हूं और बूस्ट ग्राफ़ में अलग-अलग बाइनरी के कॉलग्राफ और फ़्लोग्राफ स्टोर करता हूं। इस प्रकार मेरे पास कई दस हजार फ़ंक्शन == फ़्लोग्राफ और एक विशाल कॉलग्राफ हो सकते हैं। मैं अभी भी बीजीएल का उपयोग करते हुए अपने ग्राफ के लिए मेमोरी उपयोग को कम करना चाहता हूं।आसन्नता सूची
चूंकि मेरे ग्राफ लोड होने के बाद स्थिर हैं और किनारे और कशेरुकाओं की संख्या पहले से जानी जाती है, मुझे अनुकूलन के लिए बड़ी क्षमता दिखाई देती है। उदाहरण के लिए, मैं एक ही ग्राफ के सभी शीर्षकों/किनारों के लिए एक एकल बफर आवंटित करना चाहता हूं और ग्राफ को बस उस बफर में इंडेक्स स्टोर करने दें।
अधिक प्रश्न:
1) वर्टेक्स और एज गुणों का उपयोग करने की स्मृति ओवरहेड क्या है? मैं उनमें से कुछ हैं।
2) क्या बीजीएल को idiom फिट करने के लिए संकीर्णता का उपयोग करने के लिए मनाने के लिए संभव है? जैसा कि मैं समझता हूं कि आसन्नता सूचियां किनारों को जोड़ने के लिए push_back का उपयोग करती हैं। क्या को स्वैप करके मेमोरी उपयोग को कम करना संभव है जिसके परिणामस्वरूप वेक्टर स्वयं की एक प्रति है? शायद पूरे ग्राफ की प्रतिलिपि बनाकर?
3) क्या बीजीएल के साथ बूस्ट पूल आवंटकों का उपयोग करना संभव है? अब तक जैसा कि मैं बता सकता हूं कि बीजीएल वर्तमान में बहुत से छोटे आवंटन करता है - मैं वास्तव में अंतरिक्ष और रनटाइम दक्षता कारणों से बचाना चाहता हूं।
क्या कोई भी पहले से ही बीजीएल संस्करण को मेमोरी उपयोग के लिए अनुकूलित किया गया है? क्या मुझे मौजूदा ग्राफ संरचनाओं का उपयोग करने की कोशिश करनी चाहिए और इसे कस्टम आवंटकों या किसी के साथ बढ़ाएं या क्या यह कार्यान्वयन लिखने के लिए और अधिक उपयोगी है और बीजीएल के साथ इंटरफेस को रहने की कोशिश करें ताकि मैं इसके एल्गोरिदम का उपयोग जारी रख सकता हूं?
सादर,
Sören
यह जवाब आप की तरह नहीं हो सकता है, लेकिन जब यह कुछ कुछ बढ़ावा पुस्तकालय में हैकिंग के लिए तैयारी के रूप में बाइट की गिनती की बात आती है जो केवल बहुत कम के लिए प्रयोग किया जाता है कार्य - बूस्ट उपयोगकर्ता मेलिंग सूची में आपको जल्द ही बेहतर उत्तर मिलेगा। अन्य संभावना स्रोत को पढ़ना है ... –
gimpf