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