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.4 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 1E419BB83 for ; Thu, 14 Sep 2006 02:05:41 +0200 (CEST) Received: from rabbit.math.nagoya-u.ac.jp (rabbit.math.nagoya-u.ac.jp [133.6.130.5]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id k8E05dZc017848 for ; Thu, 14 Sep 2006 02:05:40 +0200 Received: from localhost (moose-172 [172.16.254.3]) by rabbit.math.nagoya-u.ac.jp (8.12.11/3.7W) with ESMTP id k8E05ZjP013884; Thu, 14 Sep 2006 09:05:35 +0900 (JST) Date: Thu, 14 Sep 2006 09:05:35 +0900 (JST) Message-Id: <20060914.090535.122594570.garrigue@math.nagoya-u.ac.jp> To: colanderman@gmail.com Cc: caml-list@inria.fr Subject: Re: [Caml-list] Re: 3.09.3 release candidate 2 From: Jacques Garrigue In-Reply-To: <875c7e070609130947j635a2ef2n9406b7c0f252f71c@mail.gmail.com> References: <875c7e070609130947j635a2ef2n9406b7c0f252f71c@mail.gmail.com> X-Mailer: Mew version 4.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 45089CD3.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; cmx:01 compiler:01 cmx:01 cmxa:01 cmxa:01 inlining:01 dependencies:01 compile:01 compile:01 caml-list:01 inline:01 garrigue:03 garrigue:03 seems:03 module:03 From: "Chris King" > I remember hearing somewhere that by exposing .cmx files, the compiler > is able to inline across module boundaries, and thus distributing .cmx > files is desirable. Is this just a myth? It seems redundant since > the .cmx files are included in the .cmxa anyway. This is a frequent confusion. The .cmxa does not contain all the information from the .cmx, in particular not the inlining information. This is natural if you think of it: when you compile a module, you have no way to know in which library are its dependencies, so you can only look for .cmx's, not for .cmxa's. The .cmxa's are only used at link time. You can still compile without the .cmx's, but you loose the optimizations. Jacques Garrigue