मैं 2 बातें करने की कोशिश की: (छद्म नीचे कोड)वेक्टर सरणी से धीमा शुरू कर रहा है ... क्यों?
int arr[10000];
for (int i = 0; i < 10000; i++)
{
for (int j = 0; j < 10000; j++)
{
arr[j] = j;
}
}
और
vector<int> arr(10000);
for (int i = 0; i < 10000; i++)
{
for (int j = 0; j < 10000; j++)
{
arr[j] = j;
}
}
मैं दोनों कार्यक्रमों भाग गया और "समय" शेल कमांड का उपयोग कर इसे समय समाप्त हुआ। प्रोग्राम 1 सेकंड में चलता है, प्रोग्राम 2 सेकंड में चलता है। मैंने कंपाइलर ऑप्टिमाइज़ेशन के साथ दोनों प्रोग्राम चलाए, और दोनों प्रोग्राम एक ही समय में (0.38 एस) में भाग गए। मैं इन परिणामों से उलझन में हूँ। क्या कोई मुझे बता सकता है कि यह क्यों हो रहा है?
धन्यवाद!
क्या आपका मतलब है कि उन्होंने अनुकूलन * बंद * के साथ 5/30 सेकंड लिया? – jalf
ध्यान रखें कि वे बिल्कुल बराबर नहीं हैं। वेक्टर डिफ़ॉल्ट रूप से ढेर को आवंटित करता है, लेकिन सरणी ढेर पर है। – GManNickG
हाय आधा, हाँ यह मेरे प्रश्न का हिस्सा था। मैं भी अनुकूलन के बाद एक ही समय में निष्पादित करके भ्रमित था। – Aishwar