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 TAA25858; Sun, 23 Nov 2003 19:22:13 +0100 (MET) 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 TAA26352 for ; Sun, 23 Nov 2003 19:22:12 +0100 (MET) Received: from mail2.tpgi.com.au (mail.tpgi.com.au [203.12.160.58]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id hANIM9118552 for ; Sun, 23 Nov 2003 19:22:10 +0100 (MET) Received: from 203-213-83-133-syd-ts15-2600.tpgi.com.au (203-213-83-133-syd-ts15-2600.tpgi.com.au [203.213.83.133]) by mail2.tpgi.com.au (8.12.10/8.12.10) with ESMTP id hANIM5Hp005151 for ; Mon, 24 Nov 2003 05:22:06 +1100 Subject: Re: [Caml-list] Building large and portable projects From: skaller Reply-To: skaller@ozemail.com.au To: caml-list@inria.fr In-Reply-To: <003e01c3b171$71b4a1f0$0274a8c0@PWARP> References: <20031120195614.GB441@gallu.homelinux.org> <000f01c3afd1$30033c90$0274a8c0@PWARP> <20031121052549.GA8599@davidb.org> <008301c3aff3$1030e760$0274a8c0@PWARP> <20031121064950.GA836@gallu.homelinux.org> <1069431167.5426.45.camel@pelican> <20031122170852.GA15144@davidb.org> <003e01c3b171$71b4a1f0$0274a8c0@PWARP> Content-Type: text/plain Message-Id: <1069608109.17496.8.camel@pelican> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.2 (1.2.2-4) Date: 24 Nov 2003 04:21:49 +1100 Content-Transfer-Encoding: 7bit X-Kaspersky-Antivirus: Passed X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 ozemail:01 cannasse:01 hashing:01 hash:01 hashing:01 sourceforge:01 extlib:01 hash:01 c's:01 compiler:01 compiler:01 ocaml:01 ocaml:01 nicolas:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Sun, 2003-11-23 at 14:25, Nicolas Cannasse wrote: > That's true doing a hashing is nice for C, but ocaml compilation is fast > enough so maybe the time difference between making the hash and compiling is > not so big. Another issue is storing the hashing in a temp file, while you > can compare directly time stamps of the object with the source. Actually the > only case were hashing is useful compare to timestamps is when a file is > only touched ( am I wrong ? ). This is not an average case, and when it's > happening juste compiling only this file (without a bunch of .h) seems fast > enough. Perhaps we should create a Sourceforge project? Or add a new CVS module to ExtLib project? BTW: one use of hashing is a language specific *content* hash. This is something that can ignore whitespaces and comments for example. For C and C++, the compiler is slow and hashing could be worth it. For Ocaml, the compiler is fast BUT there is a strict ordering requirement not present in C which means a file close to the "start" of a dependency graph is worth hashing to avoid recompiling not just that file .. but all the others after it: Ocaml separate compilation isn't quite as 'separate' as C's :-) ------------------- 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