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 XAA27915; Mon, 2 Jun 2003 23:12:21 +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 XAA27906 for ; Mon, 2 Jun 2003 23:12:20 +0200 (MET DST) Received: from mail3.tpgi.com.au (mail.tpgi.com.au [203.12.160.59]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id h52LCIH26360 for ; Mon, 2 Jun 2003 23:12:19 +0200 (MET DST) Received: from ozemail.com.au (203-219-234-174-syd-ts25-2600.tpgi.com.au [203.219.234.174]) (authenticated (0 bits)) by mail3.tpgi.com.au (8.11.6/8.11.6) with ESMTP id h52LCGZ05402 for ; Tue, 3 Jun 2003 07:12:16 +1000 Message-ID: <3EDBBDAF.9090201@ozemail.com.au> Date: Tue, 03 Jun 2003 07:12:15 +1000 From: John Max Skaller User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2.1) Gecko/20010901 X-Accept-Language: en-us MIME-Version: 1.0 To: "'caml-list@inria.fr'" Subject: Re: [Caml-list] ocaml and large development projects References: <4.3.2.7.2.20030517192812.033d9040@localhost> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; ozemail:01 caml-list:01 hecker:01 compiles:01 mli:01 550:99 python:01 toxteth:01 glebe:01 2037,:01 9660:01 0850:01 compiler:01 chris:01 ocaml:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Chris Hecker wrote: > >> 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. > > > Is this true? The cmi file for the interface doesn't insulate you from > this in native code? Yes its true, but it should rarely be an issue. I personally have a sequence of compiles: m1.mli m2.mli .. mn.mli m1.ml m2.ml .. mn.ml and I simply start at the first needed place and recompile everything afterwards. I have something like 20 modules, and a 550 MHz PIII, and the ONLY program that compiles so slowly I see any delay is ocamllex (which is REALLY slow). In other words, don't worry about it. Ocaml is FAST. Don't try to finess building only required files, it will take longer for (** expletive deleted **) make and friends to find out which modules to compile than to actually compile the lot. I actually use a Python script, and I suspect the timestamp comparisons needed take about the same time as an actual compile .. I left checking in to eliminate the need to rebuild the lexer and parser (run ocamllex and ocamlyacc). Which is all long winded praise to the Ocaml team for producing a product that not only generates fast code .. it generates it fast :-) -- John Max Skaller, mailto:skaller@ozemail.com.au snail:10/1 Toxteth Rd, Glebe, NSW 2037, Australia. voice:61-2-9660-0850 ------------------- 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