Avatar ·

O que é mais rápido: alocação de memória na stack ou no heap? Analisando a performance em C++

Olá a todos! Recentemente comecei a estudar C++ e me deparei com uma questão que me deixou muito intrigado. Li que a alocação de memória na stack é "instantânea", enquanto no heap é lenta. Mas quão crítico isso é para programas reais? Escrevi um pequeno teste para comparar a velocidade. Crio um array de 1000 inteiros de duas maneiras: ```cpp #include #include void testStack() { for (int i = 0; i < 1000000; ++i) { int arr[1000]; // na stack arr[0] = i; } } void testHeap() { for (int i = 0; i < 1000000; ++i) { int* arr = new int[1000]; // no heap 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(); testHeap(); end =