From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id B229ABB84 for ; Sat, 20 May 2006 12:49:47 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id k4KAnlUl015504 for ; Sat, 20 May 2006 12:49:47 +0200 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id MAA05073 for ; Sat, 20 May 2006 12:49:46 +0200 (MET DST) Received: from osiris.uid0.sk (osiris.uid0.sk [62.168.97.100]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k4KAnjRF027354 for ; Sat, 20 May 2006 12:49:46 +0200 Received: from osiris.uid0.sk (localhost [127.0.0.1]) by nod32.uid0.sk (Postfix) with ESMTP id 275FF87C159; Sat, 20 May 2006 12:51:08 +0200 (CEST) X-Virus-Scanner: This message was checked by NOD32 Antivirus system NOD32 for Linux Mail Server. For more information on NOD32 Antivirus System, please, visit our website: http://www.nod32.com/ Received: by osiris.uid0.sk (Postfix, from userid 1002) id 169CA87C05A; Sat, 20 May 2006 12:51:08 +0200 (CEST) Date: Sat, 20 May 2006 12:51:08 +0200 From: Jozef Kosoru To: Brian Hurt Cc: caml-list Subject: Re: [Caml-list] Array 4 MB size limit Message-ID: <20060520105108.GC32550@osiris.uid0.sk> References: <20060515141230.ajyupn2z28k0484s@horde.akalin.cx> <446986DF.1070308@inria.fr> <446D5E4A.8060005@akalin.cx> <20060519162844.GA32550@osiris.uid0.sk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.1i X-Miltered: at nez-perce with ID 446EF44B.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 446EF449.002 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; ocaml:01 intel's:01 itanium:01 delayed:01 ocaml's:01 patching:01 patching:01 ocaml:01 2006:98 overnight:98 wrote:01 caml-list:01 artificial:01 off-topic:02 seems:03 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 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 -- jozef kosoru http://zyzstar.kosoru.com