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 QAA03794; Thu, 6 Jun 2002 16:13:42 +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 QAA03442 for ; Thu, 6 Jun 2002 16:13:41 +0200 (MET DST) Received: from ebene.inrialpes.fr (ebene.inrialpes.fr [194.199.18.70]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g56EDe123103 for ; Thu, 6 Jun 2002 16:13:40 +0200 (MET DST) Received: from pop-serv.inrialpes.fr (pop-serv.inrialpes.fr [194.199.18.66]) by ebene.inrialpes.fr (8.11.6/8.11.6) with ESMTP id g56EBMm14498; Thu, 6 Jun 2002 16:11:22 +0200 (MEST) Received: from inrialpes.fr (cime.inrialpes.fr [194.199.23.76]) by pop-serv.inrialpes.fr (8.11.3/8.11.3/ImagV2) with ESMTP id g56EBOG19771; Thu, 6 Jun 2002 16:11:24 +0200 (MEST) Message-ID: <3CFF6D8C.1B462375@inrialpes.fr> Date: Thu, 06 Jun 2002 16:11:24 +0200 From: Frederic Tronel X-Mailer: Mozilla 4.76 [en] (X11; U; SunOS 5.8 sun4u) X-Accept-Language: en MIME-Version: 1.0 To: Jacques Garrigue , caml-list@inria.fr Subject: Re: [Caml-list] Parametric and recursive classes and exponentialtyping References: <3CFF5088.4D4D36F@inrialpes.fr> <20020606224403Y.garrigue@kurims.kyoto-u.ac.jp> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Jacques Garrigue wrote: > > From: Frederic Tronel > > > I'm facing the following problem: > > I'm trying to compile a program with a lot of recursive and > > parametric classes. Compilation time is getting longer and longer, > > and the behavior seems rather chaotic. I mean that very small changes in > > the code > > can lead to huge extra compilation time. Is there any solution, am I > > guarantee > > that compilation will end up (more than 23 minutes for a single file > > that is > > not yet compiled !! at the moment). > > Track down single coercions (_ :> t2) and replace them with full ones > (_ : t1 :> t2) as much possible. This improves predictability and > performance. > Ok I'll try it. > > I'm using ocaml 3.04 plus a patch for parametric classes. > > What is your patch? Classes are already parametric, no? A patch posted by Jerome Vouillon on this list to fix bug ID 841 --- typing/ctype.ml~ Thu Jan 31 13:57:23 2002 +++ typing/ctype.ml Thu Jan 31 13:57:25 2002 @@ -1129,6 +1129,7 @@ let create_recursion = (t2 != t2') && (deep_occur t1' t2) in occur env t1' t2; + occur env t1' t2; update_level env t1'.level t2; t1'.desc <- Tlink t2; > > > Should I try the CVS ? > > Probably. As I explained some time ago, a few exponentials have been > tamed recently to linear or quadratic. > Note that now single coercion shouldn't bother you for performance > anymore, but they may be slightly weaker than before in some cases. > I will give it a try. In the mean time, I have suppressed a mutual dependance between two classes, and recover a reasonnable behavior. Best regards, Frederic. ------------------- 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