paulo1205
(usa Ubuntu)
Enviado em 25/06/2019 - 16:26h
luisfeliperm escreveu:
O tipo de de variável influencia no desempenho da aplicação?
Sim.
Por exemplo, se eu desejo atribuir o valor "4", eu sei esse numero utiliza 2 bits.
Na verdade, 4 já requer o terceiro bit (1 bit representa 0 ou 1, 2 bits permitem contar até 3, 3 bits permitem contar até 7; o valor máximo, em inteiros sem sinal, para um número de
n bits é
2^n-1).
Então faria diferença na aplicação se eu colocasse essa variável como: int16 int32 int64?
Faz diferença em termos de memória ocupada, especialmente se você pensar em
arrays e estruturas, e pode fazer diferença também em termos de desempenho para realizar determinadas operações. Quanto e de que formas, vai depender da arquitetura, do modo de operação, do alinhamento do dado na memória, do tipo de operação (por exemplo: adição e subtração tende a ter menos variação de acordo com a largura do dado do que multiplicações e, principalmente, divisões)., do aproveitamento de cache, entre outros fatores.
Em um banco de dados por exemplo?
A preocupação com banco de dados geralmente é mais em termos de volume de dados e contenção de desempenho de leitura e escrita, que também tem a ver com volume, do que com desempenho de operações aritméticas.
Tenho essa dúvida porque atualmente eu estou refazendo uma aplicação em e vejo que os dados do tipo inteiro são sempre int32 ou int64 sendo que o numero não passa de 100.
Se eu mudar para int16 terei um desempenho melhor?
Depende da operação que você efetuar com tais dados. Pode nos dar uma ideia?
Pesquisando em função deste tópico, eu achei um artigo no StackOverflow (
https://stackoverflow.com/questions/5069489/performance-of-built-in-types-char-vs-short-vs-int-vs-fl...) e, dentro dele, um link para um site (
https://www.agner.org/optimize/) que me pareceram bem interessantes.
... “Principium sapientiae timor Domini, et scientia sanctorum prudentia.” (Proverbia 9:10)