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