Ho cercato di creare un oggetto Ember utilizzandoPerché un tizzone oggetto vuoto hanno una tale dimensione trattenuta di ~ 500
c = Em.Object.create();
e controllato il dump della memoria per vedere questo
Suggerisce una memoria superficiale di 24 e memoria contenuta di 524. La mia domanda è, è qualcosa di cui preoccuparsi in termini di memoria se tengo circa 500 oggetti di questo tipo in un controller.
Cerchiamo quindi di dire che ho un controller con 500 Ember oggetti nella matrice content
, poi la discarica momory assomiglia a questo:
Qui ogni elemento dell'array ha 524 formato mantenuto, e la il controller ha una grande dimensione mantenuta di 268088 come risultato. E 'veramente un problema?
Dubito che tutti gli oggetti di tipo Ember si riferiscano agli stessi 524 byte di un oggetto comune riferito da ognuno di essi.
Quando gli sviluppatori di emberjs hanno fatto un buon lavoro, tutti gli oggetti condividono gli stessi metodi (creati tramite l'attributo prototype), quindi almeno ci sono solo i metodi oggetto per tutti gli oggetti, non per ognuno di essi. La definizione dei metodi con l'attributo prototipo è sempre consigliata in termini di consumo di memoria. Tuttavia ogni oggetto ha i propri valori come ad esempio il nome o l'id che consuma anche la memoria per ogni oggetto. – Blauharley