Ilya Zakharevich wrote:
> Now please change 32
>
> #define NBUCKETS (32*BUCKETS_PER_POW2 + 1)
>
> to 64, and try this with Perl's malloc. ;-)
SEGVs after allocating about 2Gb of heap. Perhaps Perl's malloc isn't
always better than the system one... ;-)
big is 0.25 Gb long
write(1, " b i g i s 0 . 2 5 ".., 20) = 20
brk(0x140127000) = 0
big is 0.50 Gb long
write(1, " b i g i s 0 . 5 0 ".., 20) = 20
brk(0x160127000) = 0
big is 0.75 Gb long
write(1, " b i g i s 0 . 7 5 ".., 20) = 20
big is 1.00 Gb long
write(1, " b i g i s 1 . 0 0 ".., 20) = 20
brk(0x1A0127000) = 0
big is 1.25 Gb long
write(1, " b i g i s 1 . 2 5 ".., 20) = 20
big is 1.50 Gb long
write(1, " b i g i s 1 . 5 0 ".., 20) = 20
big is 1.75 Gb long
write(1, " b i g i s 1 . 7 5 ".., 20) = 20
big is 2.00 Gb long
write(1, " b i g i s 2 . 0 0 ".., 20) = 20
Incurred fault #6, FLTBOUNDS %pc = 0xFFFFFFFF7E2009A8
siginfo: SIGSEGV SEGV_MAPERR addr=0x1A0128000
Received signal #11, SIGSEGV [default]
siginfo: SIGSEGV SEGV_MAPERR addr=0x1A0128000
Alan Burlison