"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > scanf() बनाम cin: C++ इनपुट के लिए कौन सा तेज़ है?

scanf() बनाम cin: C++ इनपुट के लिए कौन सा तेज़ है?

2024-11-23 को प्रकाशित
ब्राउज़ करें:115

scanf() vs. cin: Which is Faster for C   Input?

गति तुलना: scanf() बनाम cin

प्रश्न:

क्या यह सच है कि C प्रोग्राम में scanf() का उपयोग करने की तुलना में तेज़ है cin?

उत्तर:

हां, scanf() वास्तव में C में cin से तेज है, जैसा कि बेंचमार्किंग परिणामों से पता चलता है।

संचालित करने के लिए परीक्षण में, संख्याओं की एक बड़ी सूची को पढ़ने और उनके XOR मान की गणना करने के लिए एक सरल प्रोग्राम लिखा गया था। कार्यक्रम को stdio के scanf() और iostream के cin और cout दोनों के साथ लागू किया गया था।

परिणाम:

Methodकार्यान्वयन समय
scanf()6.4 सेकंड
cin and cout24.3 सेकंड

यह महत्वपूर्ण गति अंतर है C के stdio फ़ंक्शंस के साथ सिंक्रोनाइज़ेशन बनाए रखने में मुख्य रूप से iostream फ़ंक्शंस के ओवरहेड को जिम्मेदार ठहराया जाता है। :sync_with_stdio(false), iostream संस्करण तुलनीय हासिल कर सकता है प्रदर्शन:

विधि

निष्पादन समय5.5 सेकंडइस अनुकूलन के साथ, iostream scanf() से बेहतर प्रदर्शन करता है और सबसे तेज़ तरीका बन जाता है।निष्कर्ष:
cin और cout (sync_with_stdio के साथ) (झूठा))

जबकि scanf() स्वाभाविक रूप से cin से तेज़ है, C प्रोग्राम में इसके उपयोग की आमतौर पर अनुशंसा नहीं की जाती है क्योंकि:

सिन के विपरीत, यह टाइप-सुरक्षित नहीं है।

यह सी-स्टाइल और सी-स्टाइल कोड को मिलाकर प्रोग्रामिंग शैली में असंगति पैदा करता है।

iostream इनपुट और आउटपुट संचालन के लिए अधिक आधुनिक और कुशल तरीका प्रदान करता है, खासकर जब सिंक्रनाइज़ेशन को अक्षम करके अनुकूलित किया जाता है।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3