Avatar ·

स्टैक या हीप पर मेमोरी आवंटन: कौन तेज़ है? C++ में प्रदर्शन को समझना

सभी को नमस्कार! मैंने हाल ही में C++ सीखना शुरू किया है और एक प्रश्न का सामना किया जिसने मुझे बहुत उलझन में डाल दिया। मैंने पढ़ा था कि स्टैक पर मेमोरी आवंटन "तुरंत" होता है, जबकि हीप पर धीमा होता है। लेकिन वास्तविक प्रोग्रामों के लिए यह कितना महत्वपूर्ण है?\n\nमैंने गति की तुलना करने के लिए एक छोटा परीक्षण लिखा। मैं दो तरीकों से 1000 पूर्णांकों की एक सरणी बनाता हूं:\n\n```cpp\n#include \n#include \n\nvoid testStack() {\n for (int i = 0; i < 1000000; ++i) {\n int arr[1000]; // स्टैक पर\n arr[0] = i;\n }\n}\n\nvoid testHeap() {\n for (int i = 0; i < 1000000; ++i) {\n int* arr = new int[1000]; // हीप में\n arr[0] = i;\n delete[] arr;\n }\n}\n\nint main() {\n auto start = std::chrono::high_resolution_clock::now();\n testStack();\n auto end = std::chrono::h