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 UAA22078; Sat, 31 Jul 2004 20:28:27 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id UAA22983 for ; Sat, 31 Jul 2004 20:28:26 +0200 (MET DST) Received: from asmtp-a063f29.pas.sa.earthlink.net (asmtp-a063f29.pas.sa.earthlink.net [207.217.120.131]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i6VISPEV008180 for ; Sat, 31 Jul 2004 20:28:25 +0200 Received: from 168-103-58-16.tcsn.qwest.net ([168.103.58.16] helo=dylan) by asmtp-a063f29.pas.sa.earthlink.net with asmtp (Exim 4.34) id 1Bqyam-0006dM-Mu for caml-list@inria.fr; Sat, 31 Jul 2004 11:28:25 -0700 Message-ID: <003301c4772c$5435b9d0$0201a8c0@dylan> From: "David McClain" To: "caml" Subject: [Caml-list] Wish List for Large Mutable Objects Date: Sat, 31 Jul 2004 11:29:28 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1437 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 X-ELNK-Trace: 7a0ab3eafc8cf994b22988ad1c62733440683398e744b8a4e002296af555dd2b5a2376ca08fc7e922601a10902912494350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 168.103.58.16 X-Miltered: at nez-perce with ID 410BE4C9.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; mcclain:01 dmcclain:01 bigarrays:01 runtime:01 mutated:01 mcclain:01 arrays:01 ocaml:01 mutable:01 mutable:01 objects:02 objects:02 cow:03 object:03 array:04 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Something I would like to see appear in the OCaml libraries, and I don't have it yet myself, is the use of Copy-on-Write and Scatter-Gather applied to large mutable objects such as BigArrays. When a request to copy the object arrives, it is immediately satisfied in mere nanoseconds, delaying the actual copying operation until (if ever) some code attempts to mutate one of the cells. Actual copying would frequently be a huge undertaking and costing a great deal in runtime performance. The Scatter-Gather would be useful in managing arrays where only a small part of the array has actually been mutated. Perhaps some kind of frame paging applied to the array proper. That way the COW only has to replicate small portions of the array for the user who requested a copy. David McClain Senior Corporate Scientist Avisere, Inc. +1.520.390.7738 (USA) david.mcclain@avisere.com ------------------- 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