गति तुलना: scanf() बनाम cin
प्रश्न:
क्या यह सच है कि C प्रोग्राम में scanf() का उपयोग करने की तुलना में तेज़ है cin?
उत्तर:
हां, scanf() वास्तव में C में cin से तेज है, जैसा कि बेंचमार्किंग परिणामों से पता चलता है।
संचालित करने के लिए परीक्षण में, संख्याओं की एक बड़ी सूची को पढ़ने और उनके XOR मान की गणना करने के लिए एक सरल प्रोग्राम लिखा गया था। कार्यक्रम को stdio के scanf() और iostream के cin और cout दोनों के साथ लागू किया गया था।
परिणाम:
Method | कार्यान्वयन समय |
---|---|
scanf() | 6.4 सेकंड |
cin and cout | 24.3 सेकंड |
यह महत्वपूर्ण गति अंतर है C के stdio फ़ंक्शंस के साथ सिंक्रोनाइज़ेशन बनाए रखने में मुख्य रूप से iostream फ़ंक्शंस के ओवरहेड को जिम्मेदार ठहराया जाता है। :sync_with_stdio(false), iostream संस्करण तुलनीय हासिल कर सकता है प्रदर्शन:
विधिनिष्पादन समय
cin और cout (sync_with_stdio के साथ) (झूठा)) | |
---|---|
इस अनुकूलन के साथ, iostream scanf() से बेहतर प्रदर्शन करता है और सबसे तेज़ तरीका बन जाता है। |
जबकि scanf() स्वाभाविक रूप से cin से तेज़ है, C प्रोग्राम में इसके उपयोग की आमतौर पर अनुशंसा नहीं की जाती है क्योंकि:
सिन के विपरीत, यह टाइप-सुरक्षित नहीं है।
यह सी-स्टाइल और सी-स्टाइल कोड को मिलाकर प्रोग्रामिंग शैली में असंगति पैदा करता है।iostream इनपुट और आउटपुट संचालन के लिए अधिक आधुनिक और कुशल तरीका प्रदान करता है, खासकर जब सिंक्रनाइज़ेशन को अक्षम करके अनुकूलित किया जाता है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3