From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id D569ABC6B for ; Fri, 1 Jun 2007 16:43:02 +0200 (CEST) Received: from ext.lri.fr (ext.lri.fr [129.175.15.4]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l51Eh2jS028924 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 1 Jun 2007 16:43:02 +0200 Received: from localhost (localhost.localdomain [127.0.0.1]) by ext.lri.fr (Postfix) with ESMTP id 57DB72020EA; Fri, 1 Jun 2007 16:43:02 +0200 (CEST) Received: from smtp.lri.fr (serveur3-5 [129.175.3.5]) by ext.lri.fr (Postfix) with ESMTP id 44E562020E9; Fri, 1 Jun 2007 16:43:02 +0200 (CEST) Received: from serveur9-10.lri.fr (serveur9-10 [129.175.9.10]) by smtp.lri.fr (Postfix) with ESMTP id 23434CED98; Fri, 1 Jun 2007 16:43:01 +0200 (CEST) Received: from localhost ([127.0.0.1] ident=signoles) by serveur9-10.lri.fr with esmtp (Exim 3.36 #1 (Debian)) id 1Hu8LF-00078k-00; Fri, 01 Jun 2007 16:43:02 +0200 Date: Fri, 1 Jun 2007 16:43:01 +0200 (CEST) From: Julien Signoles To: Stephen Weeks Cc: Jon Harrop , caml-list@yquem.inria.fr Subject: Re: [Caml-list] Comparison of OCaml and MLton for numerics In-Reply-To: <604682010706010718x42221e8rde56317905f5c972@mail.gmail.com> Message-ID: References: <5195a210705302250u6a9e5adey4ed857480f9e5cd8@mail.gmail.com> <891bd3390706010429g2ac722bfmc6932b15393a62b9@mail.gmail.com> <20070601214326.e0a939a6.mle+ocaml@mega-nerd.com> <200706011258.59177.jon@ffconsultancy.com> <604682010706010718x42221e8rde56317905f5c972@mail.gmail.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: by amavisd-new at lri.fr X-Miltered: at discorde with ID 46603076.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; signoles:01 signoles:01 lri:01 ocaml:01 speedup:01 inlining:01 ocamlopt:01 -inline:01 ocaml:01 inlining:01 lri:01 caml-list:01 guess:04 comparison:04 size:95 >> However, in some cases, defunctorization may produce a good speedup, >> especially if you use massive inlining (e.g. ocamlopt -inline 1000). On the >> contrary, defunctorization may produce cache problem because the size of >> the >> defunctorized code may be very bigger than the size of the initial code. > > I've never observed this problem in practice using MLton, and don't know > anyone > in the MLton world who has. Has this actually been observed using the OCaml > defunctorizer? Indeed, I don't observe such a problem in practice but I guess it is possible because the size of the defunctorized code may be up to 20x (maybe more) the size of the initial code (observed in practice). Just combine this with massive inlining on very-big massively-functorized application... Of course, MLton is much more used than ocamldefun. So I hope you're right. Julien -- mailto:Julien.Signoles@lri.fr ; http://www.lri.fr/~signoles "In theory, practice and theory are the same, but in practice they are different" (Larry McVoy)