In C # (e in altre lingue), possiamo definire una variabile numerica come   short   ,   int    o   long    (tra gli altri tipi), principalmente a seconda di quanto ci aspettiamo che i numeri ottengano . Molte operazioni matematiche (ad es., Aggiunta   +   ) valutano un intero (   int   ), e quindi richiedono un cast esplicito per archiviare il risultato in una   short   , anche quando si opera su due   shorts   . È molto più facile (e probabilmente più leggibile) utilizzare semplicemente   int    s, anche se non ci si aspetta mai che i numeri superino la capacità di memorizzazione di un   short   . Infatti, sono sicuro che la maggior parte di noi scrive   for    loop usando   int    contatori, invece che   short    contatori anche quando sarebbe sufficiente un   short   . 
 Si potrebbe sostenere che l'utilizzo di   int    è semplicemente a prova di futuro, ma ci sono certamente casi in cui sappiamo che   short    sarà abbastanza grande. 
 C'è un vantaggio pratico nell'usare questi tipi di dati più piccoli, che compensa la fusione aggiuntiva necessaria e diminuisce la leggibilità? O è più pratico usare semplicemente   int    ovunque, anche quando siamo sicuri che i valori non supereranno mai la capacità di   short    (ad es. Il numero di assi su un grafico)? O il vantaggio si realizza solo quando abbiamo assolutamente bisogno dello spazio o delle prestazioni di quei tipi di dati più piccoli? 
Modifica per l'indirizzo dupes:
Questo è vicino, ma è troppo ampio - e parla più alle prestazioni della CPU rispetto alle prestazioni della memoria (anche se ci sono molti paralleli).
  Questo  è vicino, ma non arriva all'aspetto pratico della mia domanda. Sì, ci sono momenti in cui l'uso di   short    è appropriato, che la domanda fa un buon lavoro di illuminazione. Ma, appropriato non è sempre pratico, e l'aumento delle prestazioni (se ce ne sono) potrebbe non essere effettivamente realizzato.