Version française
Home     About     Download     Resources     Contact us    
Browse thread
Array 4 MB size limit
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: akalin@a...
Subject: Re: [Caml-list] Array 4 MB size limit
Quoting Damien Doligez <damien.doligez@inria.fr>:

> On 2006-05-15, at 20:12, akalin@akalin.cx wrote:
>
>> I was greatly surprised when I found out there was such a low limit  
>> on arrays.  Is there a reason for this?  Will this limit ever be  
>> increased?
>
> It will be increased when you get a 64-bit machine ;-)

Of course it will. :) But what I meant was that the limit is nowhere 
near 32 bits (4 MB is only 22 bits), which leads me to believe that the 
limit is due to the implementation of arrays.  I was asking if there 
would be an improved implemetation of arrays which would increase this 
limit (up to 32 bits).

>> Also, the fact that using lists crashes for the same data set is  
>> surprising.  Is there a similar hard limit for lists, or would this  
>> be a bug?  Should I post a test case?
>
> I bet my mustache these crashes are stack overflows.

I was thinking otherwise, as it seemed to be crashing only when 
building the list.  The list is built by a parser rule which is reading 
from a line of floats.  The rule itself is recursive, which does imply 
a stack overflow, (or does it? ocamlyacc generates a LALR or some 
variant, right?) but changing that rule to use a Queue worked fine. 
(Until I tried to convert it into an array, which led me to discover 
the 4 MB limit)

Incidentally, what data structure does the Queue use internally? I 
didn't run into any of the problems I did with lists or arrays.

Frederick Akalin