Sto costruendo un'applicazione scientifica in matlab che gestisce diverse centinaia di matrici di grandi dimensioni (grandi come in "pochissime di queste si inseriranno nella ram"). Ogni matrice è contenuta all'interno di un oggetto dedicato per gestire i suoi metadati (il nome della proprietà è .data).
Uso il metodo getter per caricare i dati da file in ram non appena necessario.
Come decido quando scaricare? La maggior parte dell'accesso ai dati dell'oggetto sarà raggruppata, quindi non voglio scaricare ogni volta che ho finito con il recupero dei dati. Inoltre, potrei aver bisogno di usarne uno o due più spesso di altri. Non penso di poterlo risolvere all'interno di ogni oggetto, quindi ho pensato che avrei potuto implementare una funzione pubblica per cancellare la matrice dalla ram, chiamata da un oggetto esterno che decide quando (e possibilmente, quale) oggetto è troppo in questo momento.
Ha senso o è una ricetta per il disastro? Questo conta come osservatore, o c'è qualcos'altro che potrei usare? Come identificare i "buoni" criteri decisionali?
Grazie!