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 80087BB84 for ; Mon, 15 May 2006 20:12:35 +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 k4FICZBT022319 for ; Mon, 15 May 2006 20:12:35 +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 UAA11830 for ; Mon, 15 May 2006 20:12:34 +0200 (MET DST) From: akalin@akalin.cx Received: from eigen.apisnetworks.com (eigen.apisnetworks.com [67.15.52.22]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k4FICWwq002151 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 15 May 2006 20:12:33 +0200 Received: from eigen.apisnetworks.com (localhost.localdomain [127.0.0.1]) by eigen.apisnetworks.com (8.12.11.20060308/8.12.10) with ESMTP id k4FICVlo030577 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 15 May 2006 14:12:31 -0400 Received: (from apache@localhost) by eigen.apisnetworks.com (8.12.11.20060308/8.12.10/Submit) id k4FICV33030570 for caml-list@inria.fr; Mon, 15 May 2006 14:12:31 -0400 Received: from 207-171-180-101.amazon.com (207-171-180-101.amazon.com [207.171.180.101]) by horde.akalin.cx (Horde MIME library) with HTTP; Mon, 15 May 2006 14:12:30 -0400 Message-ID: <20060515141230.ajyupn2z28k0484s@horde.akalin.cx> Date: Mon, 15 May 2006 14:12:30 -0400 To: caml-list@inria.fr Subject: Array 4 MB size limit MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Internet Messaging Program (IMP) H3 (4.0.4-RC2) X-Miltered: at nez-perce with ID 4468C493.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 4468C490.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; arrays:01 bigarrays:01 arrays:01 surprising:01 bug:01 arbitrary:01 ideally:01 partial:01 dynamically:01 slower:01 data:02 data:02 std:02 floats:02 floats:02 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=NO_REAL_NAME autolearn=disabled version=3.0.3 I'm running into cases where the 4 MB limit on arrays is starting to become a problem. Lists are much slower and cause seg faults for me on the same data set, and Bigarrays are a partial solution because I'd like to be able to store arbitrary types in arrays (not just numbers). 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? Is the limit a limit on the number of elements or the total size? The language in Sys.max_array_size implies the former, but the fact the limit is halved for floats implies the latter. If I had a record type with 5 floats, will the limit then by Sys.max_array_size / 10? Is there some sort of existing ArrayList module that works around this problem? Ideally, I'd like to have something like C++'s std::vector<> type, which can be dynamically resized. Do I have to write my own? :( 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? Thanks! Frederick Akalin