Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

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: 2006-05-20 (10:49)
From: Jozef Kosoru <zyzstar@u...>
Subject: Re: [Caml-list] Array 4 MB size limit
On Fri, May 19, 2006 at 20:57:35 -0400, Brian Hurt wrote:
> >Yes. 32-bit x86 platform is not going away anytime soon. Given that
> >512M RAM is now standard and 1G RAM is very common for an average PC
> This is what boggles my imagination.  The combination of obstinate
> adherence to a limited platform (x86-32) in the same breath as a
> recognition that we are approaching the limitations of that
> architecture.  It's the 640K limit all over again.
> And no, segments will not help the situation.  Every single process is
> limited to 4G of address space, period.  Read the Intel CPU docs.
> With reasonable amounts of virtual memory we're well above that
> already- and we're approaching that with real memory.

4G address space limit is off-topic here. Please note that the OCaml
array size limit is 4M not 4G.
> Now, I realize the core reasons for the delay in moving to 64-bits are
> industry wide.  Intel's Itanium fiasco delayed Intel introducing a
> 64-bit chip at least 7 years.  And Microsoft seems to be incapable of
> releasing a new OS- 32-bit or 64-bit.  But that, I think, is the core
> of the problem- Ocaml's array limit is just one of many symptoms.
> And that's my point- we should be looking to fix the underlying
> problem, not looking to patch the symptoms.  Because often times
> patching the symptoms and not addressing the core problem simply makes
> the whole situation worse- the underlying problem simply shows up in
> new ways, and the fix for the specific symptom often causes new
> problems.

I disagree. Actually I think an opposite. A suggestion to move to 64-bit
is just patching the symptoms of the real problem - a design flaw in the
OCaml programming language. And this issue will not go away on 64-bits.
Just like 22 bits for the array size is a completely artificial limit on
32-bit platforms, (N - 10) imposes once again such an unlogical 54 bits
limit on 64-bit computers. And I don't think "it makes complete sense on
a 64-bit architecture".

If you create OCaml programs for yourself then maybe you can switch to
64-bits overnight (and perpahs you already did so). But if you need to
distribute your application to customers/users then it's much more
complicated. And explaining them that they should upgrade all
workstations because your software has various 4M limitations here and
there sounds like a bad joke, doesn't it?

32-bit x86 platform is still good enough for many purposes and its 2^32
limit is acceptable in most cases while 2^22 is not.


jozef kosoru