Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Come evitare lo spreco di ram
Forum - C/C++ - Come evitare lo spreco di ram

Avatar
frank87 (Normal User)
Newbie


Messaggi: 20
Iscritto: 10/03/2011

Segnala al moderatore
Postato alle 0:59
Giovedì, 14/04/2011
Questo topic è stato chiuso dal moderatore

Ciao a tutti!Sto usando un vector<map<string,int>> per memorizzare dei file di testo contenuti in una directory. Praticamente ogni elemento del vector  è una mappa che memorizza un singolo file e quindi memorizza tutte le parole del file con le rispettive occorrenze.
Quando avvio il mio programma su una directory contenente  100mb di file.txt, noto un aumento di ram allocata dal pc,cioè la ram passa dal 30% al 60%.
Il mio pc ha 2gb di ram. Mi chiedevo: questa cosa è normale??o  ce un modo per evitare spreco di ram ???
grazie a tutti per le eventuali risposte...:k::k::k:

PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
0
Down
V
Segnala al moderatore
Postato alle 7:44
Giovedì, 14/04/2011
Partiamo da un presupposto: un file .txt da 100 Mb non è facilmente reperibile (ci hai messo l'elenco telefonico di Roma e provincia????), perchè, per raggiungere una tale dimensione, contando che nei file .txt la formattazione del testo è praticamente inesistente, devi scrivere almeno (calcolo moooooooolto approssimato) 10^9 righe di testo. Tutto questo testo, tu lo "dai in pasto" al tuo programma, che attraverso un vettore di map deve leggere ogni singola parola. Lo spreco di memoria è garantito. Onestamente, però, non ho idea di come correggerlo :asd: Posso solo (come ho fatto) proporti un punto su cui lavorare.

Leggi bene...parla di 100MB di file .txt, non di 1 file da 100MB - Numa Pompilio - 14/04/11 09:28
esatto,è giusta l'osservazione di Numa Pompilio! Comunque uso una directory con 100mb di file perche la mia prof fa un test su una directory di 100mb. - frank87 - 14/04/11 10:26
Io i file li genero in modo casuale,con un programma che ho fatto io. Comunque forse Template ha ragione,uno spreco di ram è normale....mi faccio problemi io!!! - frank87 - 14/04/11 10:30
Volevo almeno sapere perchè il topic o - frank87 - 14/04/11 23:51
PM
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Up
0
Down
V
Segnala al moderatore
Postato alle 9:39
Giovedì, 14/04/2011
ma è proprio necessario caricare tutto in memoria? Potresti caricarne solo un pezzo alla volta...

si è necessario xk il mio progetto richiede che il programma debba acquisire tutto il contenuto della directory per poi farne all'interno vari tipi di ricerca!quindi devo memorizzare tutto all'inizio perchè me lo richiede la traccia del mio progetto - frank87 - 14/04/11 10:20


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
PM