पर बड़े पैमाने पर लिखने का अनुकूलन मेरे पास एक सी ऐप (VStudio 2010, win7 64bit) दोहरी ज़ीऑन चिप्स वाली मशीन पर चल रहा है, जिसका अर्थ है 12 भौतिक और 24 लॉजिकल कोर, और 1 9 2 गीगा रैम। संपादित करें: ओएस win7 है (यानी, विंडोज 7, 64 बिट)।डिस्क
ऐप में 24 धागे हैं (प्रत्येक धागे का अपना तार्किक कोर है) गणना कर रहा है और एक विशाल सी संरचना का एक अलग हिस्सा भर रहा है। संरचना, जब सभी धागे समाप्त हो जाते हैं (और धागे पूरी तरह से संतुलित होते हैं तो वे एक ही समय में पूरा होते हैं), लगभग 60 गीगाबाइट है।
(मेरे पास हार्डवेयर सेटअप पर नियंत्रण है, इसलिए मैं RAID 0 चलाने वाले 6 2tb ड्राइव का उपयोग करने जा रहा हूं, जिसका अर्थ है कि लेखन पर भौतिक सीमा औसत अनुक्रमिक लेखन गति लगभग 6x होगी, या लगभग 2 गीगा/सेकेंड ।)
डिस्क पर पहुंचने का सबसे प्रभावी तरीका क्या है? जाहिर है, आई/ओ समय गणना समय बौना होगा। इस विषय पर मेरे शोध से, ऐसा लगता है जैसे लिखना() (fwrite() के विपरीत) जाने का तरीका है। लेकिन बफर आकार आदि के मामले में सॉफ्टवेयर साइड पर मैं अन्य अनुकूलन क्या कर सकता हूं, क्या एमएमएपी अधिक कुशल होगा?
कृपया उस भाषा को जोड़ें जिसमें आप किस भाषा में लिखना चाहते हैं। इससे दूसरों को यह प्रश्न आसानी से ढूंढने में मदद मिलती है। – Buddha
गणना कब तक लेती है? –
मुझे एक 'mmap' टैग दिखाई देता है। क्या यह आपके सिस्टम के लिए उपलब्ध है? –