Re: Passing sequences to functions & procedures / Memory limits in openEuphoria?

new topic     » goto parent     » topic index » view thread      » older message » newer message
LarryMiller said...

In a 32 bit OS the practical limit to how large a sequence you can use is imposed by the size of virtual address space that can be allocated. The size of the private virtual address space is 2 GB, independent of RAM size. The largest block that can be allocated will be substantially less than that, possible much less. The usage patterns of the sequence and RAM size will determine performance.

To exceed these limits you would need to use a 64 bit OS and 64 bit version of Euphoria.

In practice these limits are unlikely to be a problem.

Yes. There's a lot of memory involved. Let's say you wanted to create a 3 billion element sequence of integers with 64-bit euphoria. Firstly, you have 24-bytes of overhead information stored by the sequence structure. This is pretty much nothing compared to where we're going, of course. Next, you'd have 24,000,000,008 bytes allocated to store your integers (one extra element is allocated as an end marker).

There are certainly machines that have a lot more RAM than these, but if you're throwing that much at a single data structure, I will say that you're doing it wrong and should look for a better way, because it's going to be painful.

Matt

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu