Ir para conteúdo
Fórum Script Brasil
  • 0

Pensamento


Denis Bittencourt Muniz

Pergunta

Olá galera!

Dias atrás, quando estava "atoa" aqui em casa, fiquei pensando: "a galera fala que OO é mais pesado... mas, no caso, em OO, crio o objeto, uso seus métodos e limpo a memória (Nothing in Visual Basic, delete operator in C++, huauahuah). Ou seja: uma função global fica o tempo todo na memória stack (pilha), alias, até o termino do programa...".

Resumindo: Não teria alguma forma de ganho de desempenho usando OO? Essa teoria não estaria correta?

A muito tempo penso isso, mas só hoje eu perguntei... Espero respostas!

P.S: Alias, os métodos dos objetos ficam na 'stack' também, certo? Ou a *estrutura toda* fica na 'heap'? (creio que seja 'heap', mas não custa perguntar :P )

Falows!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Ou seja: uma função global fica o tempo todo na memória stack (pilha), alias, até o termino do programa...".
Que eu saiba todo o código do programa é carregado na heap e quando é chamado um procedimento global, os registradores, variáveis da função, parametros, e endereço de retorno são jogados na pilha. Isso acontece até mesmo com métodos estáticos de classes. Somente são alocados na heap junto com a instancia do objeto os métodos dinâmicos, portanto métodos dinâmicos pesam mais em um programa.

P.S: Alias, os métodos dos objetos ficam na 'stack' também, certo? Ou a *estrutura toda* fica na 'heap'? (creio que seja 'heap', mas não custa perguntar )
Que eu saiba nenhum método fica na stack e sim na heap. O que vai pra stack são as variáveis e os parametros das funções no momento em que são chamadas.

Ou seja, métodos estáticos são iguais a procedimentos normais não OO, são acessados diretamente do código do programa que está todo alocado na memória, e métodos dinâmicos são alocados na heap no momento que se cria a instância, junto com a mesma. Então só vejo vantagems na orientação a objetos a pesar de desconfiar um pouco que seja mais lento(apenas intuição).

Me avisem se estiver errado.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu Thales! Mas no caso, procediemnto global fica armazenado também na Heap? Alias, creio que você tá certo! Pensando melhor, isso mesmo!

Aguardando mais opiniões : )

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...