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