Quando scrivi qualcosa che crea spesso molti (1000) oggetti piccoli, dovresti cercare di minimizzarlo per le prestazioni? Soprattutto se non si conosce il sistema su cui verrà eseguito, dai desktop di fascia bassa a quelli di fascia alta o addirittura mobile. Per i dispositivi mobili, ho sentito che la creazione di molti oggetti ostacola le prestazioni un bel po ', anche se non so quanto sia vero.
Ho un esempio che mostra bene questa idea. In un programma di grafica, diciamo che esiste un metodo che viene utilizzato per tutti i disegni chiamato idealmente drawPixel(Point)
. Potrebbero esserci 1000 di Punti creati e possono essere ripetuti spesso, come in un gioco in cui potrebbe essere chiamato 60+ volte al secondo. In alternativa, drawPixel(int x, int y)
potrebbe essere usato per minimizzare la creazione di molti oggetti Point.
In un design orientato agli oggetti, penso che l'uso di Point sia preferibile. Tuttavia, l'uso di tipi primitivi può aumentare le prestazioni. Il guadagno in termini di prestazioni può essere trascurabile nella maggior parte dei casi, ma non sono sicuro di cose come macchine mobili o vecchie. Qual è il guadagno di prestazioni dal fare qualcosa di simile ed è qualcosa che dovrebbe essere preso in considerazione?