के लिए ... निम्न मान लिया जाये कि
आउटपुट:
फ़ाइल खोला है ...
डाटा है डिस्क के लिए 'स्ट्रीम किया'। स्मृति में डेटा एक बड़े संगत बफर में है। यह सीधे उस बफर से अपने कच्चे रूप में डिस्क पर लिखा जाता है। बफर का आकार कॉन्फ़िगर करने योग्य है, लेकिन स्ट्रीम की अवधि के लिए तय किया गया है। बफर फाइल पर लिखे जाते हैं, एक दूसरे के बाद। कोई तलाश संचालन नहीं किया जाता है।
... फ़ाइल बंद है।सी ++ में उच्च प्रदर्शन अनुक्रमिक फ़ाइल I/O के लिए सबसे तेज़ तरीका क्या है?
इनपुट:
एक बड़ी फ़ाइल (क्रमिक रूप से जैसा कि ऊपर लिखा जाता है) शुरू से अंत तक से डिस्क से पढ़ा जाता है।
क्या सी ++ में सबसे तेज़ संभव अनुक्रमिक फ़ाइल I/O प्राप्त करने के लिए आम तौर पर दिशानिर्देश स्वीकार किए जाते हैं?
कुछ संभव विचार:
- दिशानिर्देश इष्टतम बफर आकार को चुनने के लिए
- बढ़ावा तरह एक पोर्टेबल पुस्तकालय :: asio वे माना जा सकता है भी एक विशिष्ट मंच की पेचीदगियों को बेनकाब करने के लिए निकाला जा सकता है या होगा इष्टतम होने के लिए?
- असिंक्रोनस I/O हमेशा तुल्यकालिक के लिए बेहतर है? क्या होगा यदि एप्लिकेशन अन्यथा सीपीयू-बाध्य नहीं है?
मुझे एहसास है कि इसमें प्लेटफ़ॉर्म-विशिष्ट विचार होंगे। मैं सामान्य दिशानिर्देशों के साथ-साथ विशेष प्लेटफार्मों के लिए भी स्वागत करता हूं।
(मेरी जीत 64 में सबसे अधिक तत्काल ब्याज, लेकिन मैं सोलारिस और साथ ही लिनक्स पर टिप्पणी में दिलचस्पी है)
क्या आप 'सीपी' को फिर से लागू करना चाहते हैं? मुझे लगता है कि मुझे कुछ याद आ रहा है ... –