 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Glitch Član

Pridružen-a: Pet 07 Apr 2006 11:40 Prispevkov: 1477 Aktiv.: 6.32
|
Objavljeno: Ned Okt 26, 2008 11:07 pm Naslov sporočila: Memory defragmentation |
|
|
Pozna kdo dober, poceni (beri brezplačen in open source) defrag za heap pomnilnik, ki je konstantno na "udaru" z malloc in free funkcijama? Rad bi minimiziral fragmentacijo pomnilnika. _________________ Answers: $1, Short: $5, Correct: $25, dumb looks are still free. |
|
Nazaj na vrh |
|
 |
multicopy Član

Pridružen-a: Ned 25 Feb 2007 23:26 Prispevkov: 43 Aktiv.: 0.19 Kraj: Ljubljana - okolica
|
Objavljeno: Pon Okt 27, 2008 12:32 am Naslov sporočila: |
|
|
Sicer ne poznam povsem tvojega primera uporabe, vendar se pogosto splača napisati lasten free in malloc. Na začetku programa pa v enem kosu preko OS z enim samim klicem malloc rezervirati dovolje velik kos, ki ustreza predvideni max. porabi pomnilnika. S tem pridobiš hitrost izvajanja.
Če te tare prevelika poraba pomnilnika, zaradi defragmentiranosti je pa vprašanje če bo nek splošen garbage collection dovolj hiter za embedded potrebe. Zopet sam najbolje poznaš porazdelitev velikosti objektov in lahko z lastnim free in malloc ustrezno rešiš ta problem. |
|
Nazaj na vrh |
|
 |
Glitch Član

Pridružen-a: Pet 07 Apr 2006 11:40 Prispevkov: 1477 Aktiv.: 6.32
|
Objavljeno: Pon Okt 27, 2008 9:41 am Naslov sporočila: |
|
|
Trenutno je tako narejeno, da se ob kreiranju taskov alocira predvideni kos pomnilnika.
Sedaj bi pa moral dinamicno alocirat (in seveda tudi dealocirat) razlicno velike kose pomnilnika. Velikost "objekta" je neznanka. _________________ Answers: $1, Short: $5, Correct: $25, dumb looks are still free. |
|
Nazaj na vrh |
|
 |
alessio Član

Pridružen-a: Pon 04 Dec 2006 8:39 Prispevkov: 363 Aktiv.: 1.61 Kraj: Ljubljana
|
Objavljeno: Pon Okt 27, 2008 2:01 pm Naslov sporočila: |
|
|
Glitch,
tole je zanimivo branje na to temo.... Z implementirano embedded verzijo malloc() in free()...
Memory allocation in C |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 492 dni
Powered by phpBB © 2001, 2005 phpBB Group
|