Newsgroup: it.comp.lang.c++
Titolo: delete non dealloca memoria <?>

Ciao raga,
non trovo soluzione...questo č il problema,
devo confrontare molti oggetti, necessito di molti GB di memoria e ho
solo 64 MB,
ho deciso di spezzare l'elaborazione a settori di 1GB,
fin qui tutto Ok, Windows si gestisce la RAM con MemoriaVirtuale sul
file Win386.
quando perň dealloco la memoria con delete, il file win386 non
diminuisce...rimane invariato e quando ricomincio il ciclo successivo
diventa piů grande...
il collasso č inevitabile, non appena comincio vado in crash perchč sul
disco fisso ho solo 1,5 Gb liberi.
dedotto che il problema č il processo, ho chiuso il programma e il file
win386 ripristina le dimensioni precedenti, (molto strano...;)
ho pensato cosě di scrivere 2 programmi, il primo che gestisce il
secondo, in questa maniera per forza il processo deve essere chiuso, ma
Win non apre una nuova finestra DOS, rimane tutto dentro il primo
processo...
come fare per liberare la memoria?
grazie in anticipo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 file Win386.
Non puoi lavorare con un giga in memoria affidandoti alla memoria virtuale. 
Nemmeno oracle lo farebbe :-)
Non ha senso.
-- 
In silenzio anche un idiota sembra intelligente. Ma non c'è problema,
l'idiota vuol sempre dire la sua.

Nemmeno oracle lo farebbe :-)
non da nessun problema, non vedo dov'è la diffidenza, è da fare perchè
non sfruttare questa metodologia???


 non sfruttare questa metodologia???
Beh, "non da nessun problema" non mi sembra proprio descriva la situazione 
:-)
A parte i problemi di sistema che hai descritto, c'è un problema di fondo. 
Se allochi in memoria un giga avendo 64M di ram fisica, è evidente che 
windows lavora per oltre il 90% su disco. Che si trasforma in 100% tenuto 
conto che windows ottimizza l'uso della memoria virtuale (se lo possiamo 
chiamare "ottimizzare" in questo caso) secondo criteri che non seguono la 
logica del tuo programma. Praticamente i dati che richiedi saranno sempre 
su disco.
Tanto vale che tu cerchi di caricare solo quello che (più o meno) riesci a 
tenere nella memoria fisica. Almeno che sia dello stesso ordine di 
grandezza. Capisco che il programma si complica, ma non credo che tentare 
di tenere in memoria un quantitativo di dati 20 volte superiore alla 
memoria fisica sia una pessima idea.


 volte superiore alla memoria fisica sia una pessima idea.
Ovviamente intendevo dire che credo sia una pessima idea...
-- 
---


 Ovviamente intendevo dire che credo sia una pessima idea...
Marco sono sicuro che tu risponda in tutta sincerità,
ma sono io che devo scegliere come gestire il programma o sbaglio?
ho spiegato il problema e ho "chiesto" se esisteva un modo per liberare
la memoria di Win senza chiudere il programma in esecuzione non una
critica sulla "gestione del programma"
spero di essere stato evasivo questa volta...
bye duido ;)


 spero di essere stato evasivo questa volta...
Hai provato ad aprire e chiudere varie volte, chessň...
photoshop su win98 e monitorare l'occupazione di ram?
Ti garantisco che ogni volta sale sempre piů :-))
Questo č tutto quel che ti so dire al riguardo, per il resto
imposto il follow up sul NG giusto
f/up
--
Gerolamo

 ma sono io che devo scegliere come gestire il programma o sbaglio?
Per carità, ci mancherebbe altro.
In bocca al lupo.
