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=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id B0F06BBC1 for ; Mon, 21 Apr 2008 16:40:47 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApoEAJZEDEjAXQIn/2dsb2JhbACqNw X-IronPort-AV: E=Sophos;i="4.25,690,1199660400"; d="scan'208";a="11718215" Received: from concorde.inria.fr ([192.93.2.39]) by mail3-smtp-sop.national.inria.fr with ESMTP; 21 Apr 2008 16:40:44 +0200 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id m3LEeeLM002518 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Mon, 21 Apr 2008 16:40:43 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnwBAFpEDEhQDPIbfGdsb2JhbACRVwEBCwUCBQkWmCg X-IronPort-AV: E=Sophos;i="4.25,690,1199660400"; d="scan'208";a="25274283" Received: from smtp20.orange.fr ([80.12.242.27]) by mail4-smtp-sop.national.inria.fr with ESMTP; 21 Apr 2008 16:40:43 +0200 Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf2009.orange.fr (SMTP Server) with ESMTP id 3E0B41C0050E for ; Mon, 21 Apr 2008 16:40:43 +0200 (CEST) Received: from [192.168.1.66] (APuteaux-154-1-36-109.w83-199.abo.wanadoo.fr [83.199.51.109]) by mwinf2009.orange.fr (SMTP Server) with ESMTP id 0F5531C00146 for ; Mon, 21 Apr 2008 16:40:43 +0200 (CEST) X-ME-UUID: 20080421144043630.0F5531C00146@mwinf2009.orange.fr Message-ID: <480CA768.702@frisch.fr> Date: Mon, 21 Apr 2008 16:40:40 +0200 From: Alain Frisch User-Agent: Thunderbird 2.0.0.12 (Windows/20080213) MIME-Version: 1.0 To: caml-list Subject: Help needed for benchmarking OCaml on AMD64 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 480CA768.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; frisch:01 frisch:01 ocaml:01 ocamlopt:01 dynlink:01 ocaml:01 cvs:01 cvs:01 non-empty:01 ocamlopt:01 trivial:01 recompile:01 compile:01 alain:01 alain:01 Hello, The new native dynamic linking feature requires some changes in the code generator for (non-Windows) AMD64 targets. Currently, this change is enabled by passing the -dlcode option to ocamlopt. A module which has not been compiled with this option cannot be dynlinked. Because -dlcode is only needed for AMD64 and it didn't exist before, most 3rd party libraries will likely not include this flag in their build system any time soon and they will thus be impossible to dynlink. This is not very satisfactory. A question to be answered before the release of OCaml 3.11 is whether this option should be enabled by default (and maybe provide another option to disable the new behavior). The only reason not to do so would be a degradation of performance. I haven't observed any difference on small benchmarks I did some months ago, but I'd like to collect more benchmarking data before enabling -dlcode by default. It would be great if some people could checkout the current CVS tree and try to compile and run their time-consuming programs with or without -dlcode on AMD64 systems, and report what they found out. I expect potential differences to appear only for functionally intensive code (a lot of inter or intra module function calls). To help benchmarking, the current CVS includes the following hack: if the environment variable OCAML_DLCODE is set to a non-empty value, ocamlopt behaves as if -dlcode were enabled. It is thus trivial to recompile (e.g. via GODI) any 3rd party library which your code may depend on. Any help will be appreciated! Alain