Thank you for this Timo, and to everyone else who replied. It did indeed address what I wanted to know. -- Darren Duncan

On 2016-09-13 5:15 AM, Timo Paulssen wrote:
I'll answer based on the data structures MoarVM uses internally:

On 09/13/2016 05:13 AM, Darren Duncan wrote:> (Pretend the actual hardware has
infinite memory so we wouldn't run > out of hardware first.) > > 1.  Maximum
size of a (non-machine) integer? We're using libtommath, which declares the
"used" and "alloc" fields of the mp_int as "int", iow a 32bit signed (???) 
integer.

2.  Maximum number of elements in an array?  MVMArray declares the "elems", "start" and 
"ssize" fields to be MVMuint64, so
they can become quite a bit bigger than strings.

3.  Maximum number of elements in a hash?  the "uthash" library we're using declares the 
"num_buckets" and "num_items"
fields as unsigned (so 32bit unsigned integer).

4.  Maximum number of bytes/codepoints/etc in a character string?  MVMString declares its 
"num_graphs" as a MVMuint32, but a graph can be
multiple codepoints and as such multiple bytes when encoded.

Following the above, does the Perl 6 language specify any such  > limits, or 
does it define the above things to be infinite? I don't think it
does.


Hope that helps!
   - Timo

Reply via email to