A Pilha (Stack) vs O Heap

  • Pilha: Área contínua de memória para variáveis locais.

    • Os valores têm tamanhos fixos conhecidos em tempo de compilação.
    • Extremamente rápida: basta mover um ponteiro de pilha.
    • Fácil de gerenciar: segue chamadas de função.
    • Ótima localidade de memória.
  • Heap: Armazenamento de valores fora das chamadas de função.

    • Valores possuem tamanhos dinâmicos determinados em tempo de execução.
    • Ligeiramente mais devagar que a pilha: é necessário um pouco de gerenciamento.
    • Sem garantias de localidade de memória.