|
Posted by Ilya Zakharevich on May 6, 2008, 1:25 am
Please log in for more thread options [A complimentary Cc of this posting was sent to
> > What's the maximum hash/array in Perl can hold for keys and values?
>
> The maximum will depend on arcane details of your perl build. Almost
> certainly your machine will run out of memory long, long before you reach
> the internal limit, unless you are doing rather silly. Like this:
>
> perl -le '$x[2**31-2]=8;'
>
> It succeeded, but took 16 gig. 2**31-1 runs out of memory. 2**31 gives an
> error of Modification of non-creatable array value attempted, subscript
> -2147483648 at -e line 1.
>
> Apparently even 64-bit builds use 32-bit ints for array indices.
Maybe. Also, it looks like the code to convert the size of array to
the size of the buffer-with-pointers-to-scalars defaults to 32-bit
integers for some intermediate values.
Could you report it to p5p as a bug?
Thanks,
Ilya
|