Heap management

V13 v13 at priest.com
Fri Oct 27 16:26:36 EEST 2006


On Friday 27 October 2006 16:02, Giorgos Keramidas wrote:
> Συγγνώμη, αλλά δε λέει τίποτα αυτό.  Για να είσαι σίγουρος ότι όντως
> αυτό συμβαίνει πρέπει να δοκιμάσεις με κάτι σαν:
>
>     #define BLKMINSIZE  32
>     #define BLKSTEPSIZE	32
>     #define BLKMAXSIZE	((size_t)4 * 1024 * 1024)
>
>     #define NALLOCMIN   32
>     #define NALLOCSTEP  32
>     #define NALLOCMAX   ((size_t)8192)
>
>     for (bsize = BLKMINSIZE; bsize <= BLKMAXSIZE; bsize += BLKSTEPSIZE) {
>         for (nblks = NALLOCMIN; nblks <= NALLOCMAX; nblks += NALLOCSTEP) {
>             runtest(bsize, nblks);
>         }
>     }
>
> Όπου η runtest() τρέχει ένα ξεχωριστό process, και κάνει κάτι σαν:
>
>     [1] Βρίσκει το αρχικό virtual size (α)
>     [2] Κάνει malloc() `nblks' blocks των `bsize' bytes
>     [3] Βρίσκει το νέο virtual size (β)
>     [4] Κάνει free() όλα τα blocks
>     [5] Βρίσκει το τελικό virtual size (γ)
>     [6] Επιστρέφει (ή τυπώνει) τα:
>         (bsize, nblks, α, β, γ)

  Akribos gia ayto to logo esteila ayto poy esteila. Ta endiamesa pause ta 
ebala gia na mporeis na deis th mnimi kai ta #defines gia na mporeis na ta 
metabaleis. Epithdes ebala pola mikra blocks oste na pame sth xeiroteri 
periptosi. Sta megala einai sigoyro oti kanei mmap() (symfona me to 
documentation panta), opote den nomizo pos tithetai thema amfibolias.

<<V13>>




More information about the Linux-greek-users mailing list