From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 A038DBB84 for ; Tue, 11 Jul 2006 16:10:42 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id k6BEAguV018040 for ; Tue, 11 Jul 2006 16:10:42 +0200 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 QAA11150 for ; Tue, 11 Jul 2006 16:10:41 +0200 (MET DST) Received: from py-out-1112.google.com (py-out-1112.google.com [64.233.166.180]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id k6BEAdlk018025 for ; Tue, 11 Jul 2006 16:10:41 +0200 Received: by py-out-1112.google.com with SMTP id b29so3997598pya for ; Tue, 11 Jul 2006 07:10:39 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=Nm9VQyZLnnYKFIv4VUKGLg4WPfuzdh9Nch/Kk3OK0mikmHwp8lWEzbm0kvC4na8QwmspJcrD59hFtu08I4DP0RV9h5ahxv8njH7eQDXrLDIA7itNX7L4r3fHiCfKNKjatNNFi7hQkU4Udl07/FokdFgZb97XXS1cOMmEMeHnciQ= Received: by 10.35.63.2 with SMTP id q2mr6652163pyk; Tue, 11 Jul 2006 07:10:39 -0700 (PDT) Received: by 10.35.20.11 with HTTP; Tue, 11 Jul 2006 07:10:38 -0700 (PDT) Message-ID: <875c7e070607110710k2ca8d548i7f9d8e22d801df8e@mail.gmail.com> Date: Tue, 11 Jul 2006 10:10:38 -0400 From: "Chris King" To: "O'Caml Mailing List" Subject: Performance of immediate objects MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-j-chkmail-Score: MSGID : 44B3B15F.001 on concorde : j-chkmail score : X : 0/20 1 X-Miltered: at concorde with ID 44B3B162.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 44B3B15F.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; foo:01 val:01 foo:01 val:01 slower:01 int:01 int:01 objects:02 objects:02 let:03 let:03 compiled:04 chris:05 chris:05 table:93 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_BY_IP autolearn=disabled version=3.0.3 Is there a substantial difference to the way in which class foo (i:int) = object val v = i method bar = v end let mk_foo i = new foo i and let mk_foo (i:int) = object val v = i method bar = v end are compiled? I've run a couple tests with the above and immediate objects seem to be about 15% slower than classes. Is this because a new method table is created for the immediate object every time or is that the case for classes also? - Chris King