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