Forum Italiano sui Prodotti NI

cancel
Showing results for 
Search instead for 
Did you mean: 

gestione memoria

Buona sera, 

sto cercando di ottimizzare la gestione della memoria di un programma di analisi statistica di array 2 e 3 dimensioni con l'utilizzo di vari front panel ai quali si puo' accedere da un front panel iniziale. Il problema e' che lavorando con file da 300 mega raggiunge rapidamente il limite di memoria e si blocca. Ho migliorato la situazione utilizzando la funzione "request deallocation" ma alcune parti non le riesco ancora a utilizzare. Il programma è stato impostato ( nn l'ho scritto io) con un massivo utilizzo di variabili globali e locali che da quello che ho capito non è stata una scelta vincente, in quanto (da quello che ho capito con uno dei tool del profile) ogni volta che c'e' una variabile locale/globale viene allocato spazio per creare una copia dei dati. Come posso fare per gestire meglio la memoria? c'e' qualche soluzione al mio problema che nn sia riscrivere il programma?

grazie dell'attenzione

saluti

Paolo

0 Kudos
Message 1 of 3
(6,301 Views)

Salve Paolo,

il miglior modo per migliorare il tuo vi in termini di memoria è eliminare le variabili locali e globali, in quanto esse comportano un gran utilizzo di memoria. Dunque dovresti riscrivere parte del tuo codice.

Ti invio un link di riferimento relativo alla gestione di dati di grandi dimensioni in Labview

https://forums.ni.com/t5/Example-Code/Managing-Large-Data-Sets-in-LabVIEW/ta-p/4100668

Cordialmente

Sabrina Nicosia 

0 Kudos
Message 2 of 3
(6,280 Views)

Ho una curiosità in proposito: come gestisce la memoria labview?

Utilizza un garbage collector come java o C#?

 

I registri permettono di memorizzare dati, ma se il loro uso è temporaneo posso deallocare memoria dopo l'elaborazione?

E' possibile, in generale, forzare la deallocazione di memoria (se sì come) quando esco da una vi?

0 Kudos
Message 3 of 3
(6,033 Views)