linux user group brescia

immagine del castello

Archivio della mailing list

Cattiva free() e OpenOffice

Nicola Gatta nicola.gatta a yoda.ing.unibs.it
Gio 31 Lug 2003 21:23:14 UTC
On Thu, Jul 31, 2003 at 03:36:51PM +0200, Vernia Damiano wrote:
> 
> 	Ciao, due quesiti assolutamente diversi uno dall'altro:
> 1. Sapete nulla circa inefficienze della funzione free()? Il mio programma 
> continua ad aumentare di dimensioni in memoria, nonostante io deallochi 
> sempre e per benino la memoria che uso. Non sara' che malloc() (e 
> calloc()) allocano comunque nuova memoria anche se dei blocchi precedenti 
> sono stati liberati? L'unica spiegazione che ho trovato finora e' che i 
> blocchi che alloco (di dimensioni diverse) "interferiscono" tra loro e 
> lasciano molti buchi inutilizzati. Comunque anche cosi' riseco a stento a
> giustificare la grande quantita' di RAM usata. Credete che allocare e 
> deallocare sempre e solo blocchi delle medesime dimensioni possa 
> migliorare questo aspetto?

Non penso, acnhe se non ho mai fatto esperimenti specifici.
L'operazione di free e' piuttosto costosa in termini di risorse...
(la questione del "riordino" dei chunk inutilizzati e' abbastanza complessa) 
Opterei per una sorta di meccanismo di caching che evita di effettuare free
finche' e' possibile.
Anche a me e' successo: una volta ho allocato quasi un giga di ram 
(e le free c'erano tutte...)

> 2. Il discorso si e' interrotto quasi subito, ma siccome sono riuscito a 
> convincere mio padre a passare da Office a OpenOffice mi interesserebbe 
> sapere qualche opinione in piu' sul pacchetto. Lui lo userebbe con 
> losezozz, ma se non ricordo male la ML e' sul software libero anche in 
> generale, giusto? ;-P

Penso di si' (almeno, io lo sono)
Convincere tuo padre sarebbe un ottima soddisfazione.
In genere uso OpenOffice solo in lettura (preferisco usare formati
come tex, html,ps e testo, evitando ppt, doc e simili) e, a parte 
una relativa pesantezza, e' un'ottima alternativa al prodotto
Micro$oft.

-- 
Nicola Gatta -- LRU #274161 -- ICQ #275520322
GPG KeyId :    61A6ABFD  at keyserver.linux.it





Maggiori informazioni sulla lista Lug