11-11-2010 02:28 PM
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
11-15-2010
04:14 AM
- last edited on
06-23-2024
06:48 PM
by
Content Cleaner
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
05-25-2011 10:09 AM
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?