Qual é o significado de pequenas dimensões em termos de programação?

StackOverflow https://stackoverflow.com/questions/1618065

  •  06-07-2019
  •  | 
  •  

Pergunta

Eu ouvi muitas bibliotecas como JXTA e PjSIP têm pegadas menores. É este o que aponta para o consumo de recursos pequena ou algo mais?

Foi útil?

Solução

Pegada designa o tamanho ocupado pelo seu aplicativo na memória RAM do computador.

Pegada pode ter significado diferente quando se fala sobre o consumo de memória. Na minha experiência, consumo de memória muitas vezes não inclui memória alocada no heap (memória dinâmica), ou recurso carregado a partir do disco etc. Isso ocorre porque alocações dinâmicas não são constantes e podem variar dependendo de como a aplicação ou módulo é utilizado. Ao relatar "baixa pegada" ou "alta pegada", uma constante ou medida superior do espaço necessário é geralmente queria.

Se, por exemplo, incluindo memória dinâmica no relatório pegada de um editor de imagem, a pegada inteiramente vai depender do tamanho da imagem carregada no aplicativo pelo usuário.

No contexto de uma biblioteca de terceiros, o autor biblioteca pode otimizar o consumo de memória estática da biblioteca, assegurando que você nunca ligar mais código em seu binário do aplicativo do que o absolutamente necessário. Um método comum utilizado para fazer isso em, por exemplo, C, é distribuir funções de biblioteca para c-arquivos separados. Isso ocorre porque a maioria dos ligadores C ligará todo o código a partir de uma c-arquivo em seu aplicativo, não apenas a função de ligar. Então, se você colocar uma única função no c-file, isso é tudo o vinculador irá incorpore em sua aplicação quando chamá-lo. Se você colocar cinco funções no c-file o ligador provavelmente irá ligar todos eles em seu aplicativo, mesmo se você usar apenas um deles.

Tudo isso dito, a definição geral (académico) da pegada inclui todos os tipos de aspectos de memória / armazenamento.

Outras dicas

De Wikipedia artigo pegada de memória :

Memória pegada refere-se à quantidade de memória principal que um programa usa ou referências durante a execução.

Isso inclui todos os tipos de regiões de memória ativos como segmento de código contendo (principalmente) as instruções do programa (e, ocasionalmente constantes), segmento de dados (tanto inicializado e não inicializado), memória heap, pilha de chamadas, além de memória necessária para manter todas as estruturas de dados adicionais , tais como tabelas de símbolos, estruturas de dados de depuração, abrir arquivos, bibliotecas compartilhadas mapeados para o processo atual, etc., que o programa nunca precisa durante a execução e será carregado pelo menos uma vez durante toda a execução.

Geralmente é a quantidade de memória que ocupa - a 'pegada' que deixa na memória durante a execução. No entanto, também pode se referir a quanto espaço ele ocupa no seu disco rígido -. Embora estes dias que é menos de um problema

Se você estiver escrevendo um app e tem limitações de memória, considere executar um profiler para manter o controle de quanto o seu programa está usando.

Ele se refere a recursos. Particularmente memória. Ela exige uma quantidade menor de memória durante a execução.

Sim, os recursos, como memória ou disco

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top