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

Reply via email to