Avatar ·

¿Qué es más rápido: asignar memoria en la pila o en el montón? Analizando el rendimiento en C++

¡Hola a todos! Recientemente comencé a estudiar C++ y me encontré con una pregunta que me dejó muy perplejo. Leí que la asignación de memoria en la pila ocurre "instantáneamente", mientras que en el montón es lenta. Pero, ¿qué tan crítico es esto para programas reales? Escribí una pequeña prueba para comparar la velocidad. Creo un array de 1000 enteros de dos maneras: ```cpp #include #include void testStack() { for (int i = 0; i < 1000000; ++i) { int arr[1000]; // en la pila arr[0] = i; } } void testHeap() { for (int i = 0; i < 1000000; ++i) { int* arr = new int[1000]; // en el montón arr[0] = i; delete[] arr; } } int main() { auto start = std::chrono::high_resolution_clock::now(); testStack(); auto end = std::chrono::high_resolution_clock::now(); std::cout << "Stack: " << std::chrono::duration_cast(end - start).count() << "ms\n"; start = std::chrono::high_resolution_clock::now();