From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id JAA03210; Sat, 29 May 2004 09:14:04 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 JAA02949 for ; Sat, 29 May 2004 09:14:01 +0200 (MET DST) Received: from smtp1.adl2.internode.on.net (smtp1.adl2.internode.on.net [203.16.214.181]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i4T7DaSH027474 for ; Sat, 29 May 2004 09:13:38 +0200 Received: from [192.168.1.200] (ppp114-11.lns1.syd3.internode.on.net [150.101.114.11]) by smtp1.adl2.internode.on.net (8.12.9/8.12.9) with ESMTP id i4T7DQZq025181; Sat, 29 May 2004 16:43:27 +0930 (CST) Subject: Re: [Caml-list] Out_of_memory exception in output_value From: skaller Reply-To: skaller@users.sourceforge.net To: Eric Dahlman Cc: carette@mcmaster.ca, "'Richard Jones'" , caml-list In-Reply-To: <3037847D-B0E9-11D8-AF42-000393914EAA@atcorp.com> References: <003701c444d3$7163a340$1b447182@cas.mcmaster.ca> <1085773482.3036.81.camel@pelican.wigram> <3037847D-B0E9-11D8-AF42-000393914EAA@atcorp.com> Content-Type: text/plain Message-Id: <1085814805.3036.151.camel@pelican.wigram> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.2 (1.2.2-4) Date: 29 May 2004 17:13:26 +1000 Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 40B83820.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 sourceforge:01 2004:99 malloc:01 allocations:01 delegates:01 9660:01 glebe:01 nsw:01 snail:02 complexity:02 complexity:02 exception:02 checkout:02 failing:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Sat, 2004-05-29 at 06:54, Eric Dahlman wrote: > On May 28, 2004, at 2:44 PM, skaller wrote: > >> Wouldn't it be more system-friendly to try successively factors *2, > >> *1.5, > >> *1.1, and *1.05 before actually failing? > > I am not sure that it would have that much benefit for all of the > complexity it would introduce. I don't quite agree for the following reason: if something fails when you're only using 50% of memory instead of 90%, you're likely to be both puzzled and annoyed. In practice this can make quite a difference at what sized problems you can handle on your machine. It can also really trash out a large server because malloc() is *required* to actually allocate memory, not just address space. Since allocations of this kind are rare the extra cost doing a most sophisticated calculation isn't important. As you point out though, the extra complexity is a real problem: we could argue forever how to choose an optimial calculation. Which is why I suggested the user be able to do it. This delegates the complexity back to the client and out of the library. -- John Skaller, mailto:skaller@users.sf.net voice: 061-2-9660-0850, snail: PO BOX 401 Glebe NSW 2037 Australia Checkout the Felix programming language http://felix.sf.net ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners