J'ai remarqué que j'ai toujours utilisé int et double, peu importe la taille du nombre. Donc, en Java, est-il plus efficace d'utiliser byte
ou à la short
place de int
et à la float
place de double
?
Supposons donc que j'ai un programme avec beaucoup d'entiers et de doubles. Cela vaudrait-il la peine de passer en revue et de changer mes entiers en octets ou en short si je savais que le nombre conviendrait?
Je sais que java n'a pas de types non signés, mais y a-t-il quelque chose de plus que je pourrais faire si je savais que le nombre serait uniquement positif?
Par efficace, j'entends principalement le traitement. Je suppose que le ramasse-miettes serait beaucoup plus rapide si toutes les variables avaient la moitié de la taille et que les calculs seraient probablement un peu plus rapides aussi. (Je suppose que depuis que je travaille sur Android, je dois aussi m'inquiéter pour la RAM)
(Je suppose que le garbage collector ne traite que des objets et non des primitifs, mais supprime toujours toutes les primitives des objets abandonnés, n'est-ce pas?)
Je l'ai essayé avec une petite application Android que j'ai mais je n'ai pas vraiment remarqué de différence. (Bien que je n'ai rien mesuré "scientifiquement".)
Ai-je tort de supposer que cela devrait être plus rapide et plus efficace? Je détesterais tout changer dans un programme massif pour découvrir que j'ai perdu mon temps.
Cela vaudrait-il la peine de le faire dès le début lorsque je démarre un nouveau projet? (Je veux dire, je pense que chaque petit geste aiderait, mais encore une fois, si c'est le cas, pourquoi ne semble-t-il pas que quelqu'un le fasse.)