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 RAA16663; Wed, 14 May 2003 17:52:06 +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 RAA16883 for ; Wed, 14 May 2003 17:52:05 +0200 (MET DST) Received: from yukon.yapper.org (adsl-67-120-175-89.dsl.lsan03.pacbell.net [67.120.175.89]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id h4EFq4T10670 for ; Wed, 14 May 2003 17:52:04 +0200 (MET DST) Received: from kenai.yapper.org (kenai.yapper.org [67.120.175.90]) by yukon.yapper.org (Postfix) with ESMTP id A00885D7; Wed, 14 May 2003 08:52:02 -0700 (PDT) Received: from cs.caltech.edu (localhost [127.0.0.1]) by kenai.yapper.org (Postfix) with ESMTP id 071E6A09E; Wed, 14 May 2003 08:52:01 -0700 (PDT) Message-ID: <3EC26621.9060905@cs.caltech.edu> Date: Wed, 14 May 2003 08:52:01 -0700 From: Jason Hickey Organization: Caltech User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3b) Gecko/20030211 X-Accept-Language: en-us, en MIME-Version: 1.0 To: "'caml-list@inria.fr'" Subject: Re: [Caml-list] ocaml and large development projects References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; hickey:01 caml-list:01 prover:01 functors:01 626:99 792:99 compiler:01 ocaml:01 recompile:01 surprising:01 caltech:01 native-code:02 compile:02 exception:02 native:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Traudt, Mark wrote: > I am new to ObjectiveCaml and am wondering whether it has been used for any > large projects (i.e. hundreds of thousands or more lines of code, possible > >>100 modules)? If so, how well has it scaled, in terms of performance, > > memory usage, compile time, and any other relevant characteristics? If not, > is this because there are known issues that would prevent it from being > effectively used beyond a certain size project? We use OCaml in several projects. Two of them are in the medium-sized category: a compiler (mojave.caltech.edu, ~300K lines), and a theorem prover (metaprl.org, ~250K lines). Together, about 3000 files, 50-100 functors. The OCaml toolset scales well, with no real issues. Compile time appears to scale linearly in the size of the project, with a slight exception for linking. Typical numbers are 3-10min (it depends on the project) for a full native-code build, about 10sec link time, on a 1GHz PIII-class machine, Linux, 256MB. I haven't measured memory usage; it hasn't been an issue. One issue to be aware of: if you build native code, when you change a module, then all dependent modules must be recompiled. This can be surprising when a small change to a utility module causes a near full recompile of the project. The byte-code compiler does not have this issue, and is sufficient for testing in most cases. Jason -- Jason Hickey http://www.cs.caltech.edu/~jyh Caltech Computer Science Tel: 626-395-6568 FAX: 626-792-4257 ------------------- 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