Zivjo Marko.

On Tue, 12 Oct 1999, Marko Mlakar wrote:


> Tako kot je Ales (Kosir) v enem od prejsnih mailov napisal, najbrz
> drzi, da je stvar v "sodobnem" linuxu popravljena. Se vedno pa
> sam ne bom zaupal tej funkciji, da bo kopirala/premikala in
> na novo alocirala *moje* podatke :-) -- poleg tega, ne gre pozabiti
> omeniti, da je taka varianta ena najbolj pocasnih.

Ce imas kos pomnilnika in vidis da rabis vecjega je realloc() pravzaprav
najhitrejsa funkcija za alokacijo vecjega kosa pomnilnika.

Rocno klicanje malloc()a z novo velikostjo in potem rocno kopiranje vedno vodi
do tega da:
- Alociras blok pomnilnika
- Prekopiras podatke
- sprostis stari blok

Ce klices realloc() se ti bo odvisno od srece zgodilo v najslabsem primeru isto
kar sem zgodaj nakvackal, v boljsem primeru pa se bo alocirani kos pomnilnika
samodejno razsiril brez kopiranja podatkov, kar je zelo zelo hitrejse od
malloc() memcpy() free();


-- 
best regards,
Rok Papez.

Reply via email to