5 u_long NBUCKETS
= 2000;
7 u_long NSIZE
= (16*1024);
12 main(int argc
, char **argv
)
16 if (argc
> 1) NOPS
= strtoul(argv
[1],0,0);
17 if (argc
> 2) NBUCKETS
= strtoul(argv
[2],0,0);
18 if (argc
> 3) NSIZE
= strtoul(argv
[3],0,0);
19 printf("BRK(0)=%x ",sbrk(0));
20 foo
= malloc (sizeof *foo
* NBUCKETS
);
21 memset(foo
,0,sizeof *foo
* NBUCKETS
);
22 for (i
= 1; i
<= 4096; i
+=i
) {
23 for (j
= 0 ; j
< 40960/i
&& j
< NBUCKETS
; j
++) {
26 for (j
= 0 ; j
< 40960/i
&& j
< NBUCKETS
; j
++) {
32 for (i
= 0 ; i
< NOPS
; i
++) {
33 j
= random() % NBUCKETS
;
35 foo
[j
] = realloc(foo
[j
], k
& 1 ? 0 : k
);
39 printf("BRK(1)=%x ",sbrk(0));
40 for (j
= 0 ; j
< NBUCKETS
; j
++) {
46 printf("BRK(2)=%x NOPS=%lu NBUCKETS=%lu NSIZE=%lu\n",
47 sbrk(0),NOPS
,NBUCKETS
,NSIZE
);