Ciao,
sto lavorando su dillo il browser gtk/c. Purtroppo ho scoperto che ha
un memory leak e si perde 4Kb ad ogni reload. Vorrei usarlo come
visualizzatore di orari dei treni e degli autobus ma questo significa
che 10 istanze del programma con un reload ogni 5 secondi si consumano
circa ~30Mb all'ora. Definitivamente eccessivo.
Dillo ha 42 mila righe di codice e non sono riuscito a trovare il bug.
Avete idea di come fare un log di tutti i malloc/free che il programma
fa? Avete idea di qualche garbage collector in C che possa usare
all'interno di un progetto così complesso senza riscriverlo tutto?
Grazie,
Roberto A. Foglietta wrote:
Ciao,
sto lavorando su dillo il browser gtk/c. Purtroppo ho scoperto che ha
un memory leak e si perde 4Kb ad ogni reload. Vorrei usarlo come
visualizzatore di orari dei treni e degli autobus ma questo significa
che 10 istanze del programma con un reload ogni 5 secondi si consumano
circa ~30Mb all'ora. Definitivamente eccessivo.
Dillo ha 42 mila righe di codice e non sono riuscito a trovare il bug.
Avete idea di come fare un log di tutti i malloc/free che il programma
fa? Avete idea di qualche garbage collector in C che possa usare
all'interno di un progetto così complesso senza riscriverlo tutto?
http://valgrind.kde.org
Anche se ancora non so esattamente cosa pensare di quello vomita fuori!
;-)
Peter Warasin wrote:
ciao
Dillo ha 42 mila righe di codice e non sono riuscito a trovare il bug.
Avete idea di come fare un log di tutti i malloc/free che il programma
fa? Avete idea di qualche garbage collector in C che possa usare
dmalloc.com
e' una library, normalmente devi solo lincare e funziona gia.
grazie mille ma ho dimenticato di dire che essendo un progetto in
GTK/C non usa le malloc/free standard ma quelle delle glib
g_free/g_alloc con tutto quello che ne consegue g_strdup, g_list_add,
etc. etc.
Perciò se non vado errato dovrei compilare le glibc con il garbage
collectory da te consigliato!
Ciao,
Ciao, sto lavorando su dillo il browser gtk/c.
Bravo! (da un utente dillo!)
hmm vedo dappertutto che dmalloc aveva fatto dei problemi nel glib..
forse sara' meglio usare memprof.. o un altro tool
peter
Roberto A. Foglietta wrote:
Ciao,
sto lavorando su dillo il browser gtk/c. Purtroppo ho scoperto che ha
un memory leak e si perde 4Kb ad ogni reload. Vorrei usarlo come
visualizzatore di orari dei treni e degli autobus ma questo significa
che 10 istanze del programma con un reload ogni 5 secondi si consumano
circa ~30Mb all'ora. Definitivamente eccessivo.
Ciao Roberto,
non so, se c'entra qualcosa, ma tempo fa in news://de.comp.os.unix.programming
c'era un thread su memory leaks in gdk. Forse il seguente link potrebbe
interessarti:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=slrnca284b.ki.Thomas.Etzlstorfer%40ns.localnet
Saluti,
Thomas