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,HTML_MESSAGE 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 824C9BBAF for ; Sat, 26 Sep 2009 19:21:25 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkUCANPqvUrRVllDlGdsb2JhbACCJi2FHpMRAQEBAQkLCAkTA7lThB4F X-IronPort-AV: E=Sophos;i="4.44,457,1249250400"; d="scan'208,217";a="35054406" Received: from elasmtp-scoter.atl.sa.earthlink.net ([209.86.89.67]) by mail3-smtp-sop.national.inria.fr with ESMTP; 26 Sep 2009 19:21:23 +0200 Received: from [69.254.201.214] (helo=[10.0.1.2]) by elasmtp-scoter.atl.sa.earthlink.net with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.67) (envelope-from ) id 1MraxW-00026a-DU for caml-list@inria.fr; Sat, 26 Sep 2009 13:21:22 -0400 Message-Id: From: David McClain To: caml-list@inria.fr Content-Type: multipart/alternative; boundary=Apple-Mail-1-800574344 Mime-Version: 1.0 (Apple Message framework v936) Subject: HLVM Date: Sat, 26 Sep 2009 10:21:21 -0700 X-Mailer: Apple Mail (2.936) X-ELNK-Trace: 7a0ab3eafc8cf994b22988ad1c62733440683398e744b8a4f211c2134465c054e40430acedf07db1350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 69.254.201.214 X-Spam: no; 0.00; arrays:01 ocaml:01 arrays:01 ocaml:01 2009:98 04.:98 2009:98 04.:98 native:03 native:03 dbm:03 dbm:03 types:05 types:05 efficient:07 --Apple-Mail-1-800574344 Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Yes, I saw those references already. Still not enough information... What, in particular, sets HLVM apart. Surely not just the native machine types? Are you handling array references in some unusually efficient manner? Are you avoiding unnecessary copy-on-writes of large arrays by some form of whole-program analysis? I still don't have a handle on HLVM... > > http://www.ffconsultancy.com/ocaml/hlvm/ > http://flyingfrogblog.blogspot.com/2009/03/performance-ocaml-vs-hlvm-beta-04.html Dr. David McClain dbm@refined-audiometrics.com --Apple-Mail-1-800574344 Content-Type: text/html; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Yes, I saw those references = already. Still not enough information...

What, in particular, = sets HLVM apart. Surely not just the native machine types?

Are = you handling array references in some unusually efficient manner? Are = you avoiding unnecessary copy-on-writes of large arrays by some form of = whole-program analysis? I still don't have a handle on = HLVM...


http://www.ffconsultancy= .com/ocaml/hlvm/

http://flyingfrogblog.blogspot.com/2009/03/performance-oc= aml-vs-hlvm-beta-04.html


= --Apple-Mail-1-800574344-- 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 mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 2493FBC37 for ; Sun, 27 Sep 2009 18:57:52 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Au8CALM2v0rRVllGgmdsb2JhbACbAgEBCwsIBxUDtyaEHgU X-IronPort-AV: E=Sophos;i="4.44,461,1249250400"; d="scan'208";a="47381242" Received: from elasmtp-banded.atl.sa.earthlink.net ([209.86.89.70]) by mail4-smtp-sop.national.inria.fr with ESMTP; 27 Sep 2009 18:57:51 +0200 Received: from [69.254.201.214] (helo=[10.0.1.2]) by elasmtp-banded.atl.sa.earthlink.net with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.67) (envelope-from ) id 1Mrx4I-0002TG-HP for caml-list@inria.fr; Sun, 27 Sep 2009 12:57:50 -0400 Message-Id: <3A5DD7BA-C2C1-4775-9566-70EE25AE74B9@refined-audiometrics.com> From: David McClain To: caml-list@inria.fr Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v936) Subject: HLVM Date: Sun, 27 Sep 2009 09:57:49 -0700 X-Mailer: Apple Mail (2.936) X-ELNK-Trace: 7a0ab3eafc8cf994b22988ad1c62733440683398e744b8a42832553d458d69a4ff861def3ad38214350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 69.254.201.214 X-Spam: no; 0.00; speedups:01 statically:01 ocaml:01 compiler:01 dbm:03 dbm:03 compiled:04 intimately:04 seem:08 target:91 obvious:10 end:12 question:13 mcclain:13 mcclain:13 Wow! Thanks for that much more substantive feedback on HLVM. I am not intimately familiar with LLVM. I am surprised that JIT can offer speedups over statically compiled code. And forgive me for asking what may seem a question with an obvious answer... but now don't you also have to change the OCaml compiler back end to target the HLVM? Dr. David McClain dbm@refined-audiometrics.com 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.1 required=5.0 tests=AWL,HTML_MESSAGE autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 03957BC37 for ; Sun, 27 Sep 2009 20:06:58 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvACABtHv0rRVllEgmdsb2JhbACCVJgvAQELCwgHFQO3D4QeBQ X-IronPort-AV: E=Sophos;i="4.44,461,1249250400"; d="scan'208,217";a="47384199" Received: from elasmtp-masked.atl.sa.earthlink.net ([209.86.89.68]) by mail4-smtp-sop.national.inria.fr with ESMTP; 27 Sep 2009 20:06:46 +0200 Received: from [69.254.201.214] (helo=[10.0.1.2]) by elasmtp-masked.atl.sa.earthlink.net with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.67) (envelope-from ) id 1Mry8z-0007uU-3f for caml-list@inria.fr; Sun, 27 Sep 2009 14:06:45 -0400 Message-Id: From: David McClain To: caml-list@inria.fr Content-Type: multipart/alternative; boundary=Apple-Mail-2-889698011 Mime-Version: 1.0 (Apple Message framework v936) Subject: HLVM... Date: Sun, 27 Sep 2009 11:06:44 -0700 X-Mailer: Apple Mail (2.936) X-ELNK-Trace: 7a0ab3eafc8cf994b22988ad1c62733440683398e744b8a4a82d358d32af07e41e34797ed1fe4c2b350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 69.254.201.214 X-Spam: no; 0.00; wikipedia:01 runtime:01 statically:01 wikipedia:01 runtime:01 statically:01 wiki:01 sans-serif:98 sans-serif:98 dynamically:01 dynamically:01 compile:01 compile:01 functions:01 functions:01 --Apple-Mail-2-889698011 Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Interesting quote from a Wikipedia article on JIT compiling... "...For instance, most Common Lisp systems have a compile function which can compile new functions created during the run. This provides many of the advantages of JIT, but the programmer, rather than the runtime, is in control of what parts of the code are compiled. This can also compile dynamically generated code, which can, in many scenarios, provide substantial performance advantages over statically compiled code, as well as over most JIT systems." Dr. David McClain dbm@refined-audiometrics.com --Apple-Mail-2-889698011 Content-Type: text/html; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Interesting quote from a = Wikipedia article on JIT compiling...

"...For instance, most Common Lisp systems = have a compile function which can compile new = functions created during the run. This provides many of the advantages = of JIT, but the programmer, rather than the runtime, is in control of = what parts of the code are compiled. This can also compile dynamically = generated code, which can, in many scenarios, provide substantial = performance advantages over statically compiled code, as well as over = most JIT systems."


= --Apple-Mail-2-889698011-- 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.1 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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 8ED9EBC57 for ; Mon, 28 Sep 2009 00:09:05 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArwBAOJ+v0rRVllAgGdsb2JhbACbAgEBCwsKBRUDtmSEHgU X-IronPort-AV: E=Sophos;i="4.44,461,1249250400"; d="scan'208";a="33648151" Received: from elasmtp-curtail.atl.sa.earthlink.net ([209.86.89.64]) by mail2-smtp-roc.national.inria.fr with ESMTP; 28 Sep 2009 00:09:05 +0200 Received: from [69.254.201.214] (helo=[10.0.1.2]) by elasmtp-curtail.atl.sa.earthlink.net with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.67) (envelope-from ) id 1Ms1vT-0002Zj-Vy for caml-list@inria.fr; Sun, 27 Sep 2009 18:09:04 -0400 Message-Id: <2084D077-4ACC-4054-9DFF-A4B23F76BA31@refined-audiometrics.com> From: David McClain To: caml-list@inria.fr Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v936) Subject: HLVM... Date: Sun, 27 Sep 2009 15:09:02 -0700 X-Mailer: Apple Mail (2.936) X-ELNK-Trace: 7a0ab3eafc8cf994b22988ad1c62733440683398e744b8a499e31bf311a7608fd7967c5043cf9d19350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 69.254.201.214 X-Spam: no; 0.00; integers:01 transitions:01 arithmetic:01 explicitly:02 native:03 dbm:03 dbm:03 overflow:03 implicitly:05 converting:05 modulo:07 rather:08 machine:09 addressing:10 mcclain:13 ... remember too, in signal and image processing applications, converting to raw machine integers and plowing ahead is often counterproductive. Rather we need saturating arithmetic to avoid abrupt transitions on overflow conditions, or modulo addressing. Neither of these is native to SSM, and have to be synthesized. DSP chips on the other hand almost always offer these variations implicitly or explicitly. Dr. David McClain dbm@refined-audiometrics.com 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.2 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 mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id F3BE8BCA9 for ; Mon, 28 Sep 2009 00:12:27 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ai8CAIaAv0rUnwckjmdsb2JhbACCH5hjAQEBAQkLCAkRBrZuhB4F X-IronPort-AV: E=Sophos;i="4.44,461,1249250400"; d="scan'208";a="47390165" Received: from relay.ptn-ipout02.plus.net ([212.159.7.36]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 28 Sep 2009 00:12:27 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkcFAEuAv0rUnw6S/2dsb2JhbACCH9APhB4F Received: from ptb-relay02.plus.net ([212.159.14.146]) by relay.ptn-ipout02.plus.net with ESMTP; 27 Sep 2009 23:12:27 +0100 Received: from [87.114.87.187] (helo=leper.local) by ptb-relay02.plus.net with esmtp (Exim) id 1Ms1yl-0007vY-2H for caml-list@yquem.inria.fr; Sun, 27 Sep 2009 23:12:27 +0100 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] HLVM... Date: Sun, 27 Sep 2009 23:12:54 +0100 User-Agent: KMail/1.9.9 References: <2084D077-4ACC-4054-9DFF-A4B23F76BA31@refined-audiometrics.com> In-Reply-To: <2084D077-4ACC-4054-9DFF-A4B23F76BA31@refined-audiometrics.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200909272312.54737.jon@ffconsultancy.com> X-Plusnet-Relay: 083fe5dd7fcfcaaa55c6e3b958c42b55 X-Spam: no; 0.00; integers:01 transitions:01 2009:98 frog:98 wrote:01 caml-list:01 arithmetic:01 explicitly:02 primitive:02 native:03 overflow:03 types:05 implicitly:05 converting:05 modulo:07 On Sunday 27 September 2009 23:09:02 David McClain wrote: > ... remember too, in signal and image processing applications, > converting to raw machine integers and plowing ahead is often > counterproductive. > > Rather we need saturating arithmetic to avoid abrupt transitions on > overflow conditions, or modulo addressing. Neither of these is native > to SSM, and have to be synthesized. DSP chips on the other hand almost > always offer these variations implicitly or explicitly. Sure. That does not change the fact that unnecessarily boxing these primitive types severely degrades performance. -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e 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.8 required=5.0 tests=AWL,SPF_FAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 3A05ABC37 for ; Mon, 28 Sep 2009 11:18:32 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Am4EAGwcwEpQRFuwWWdsb2JhbACaeQEUFwS5E4QeBQ X-IronPort-AV: E=Sophos;i="4.44,465,1249250400"; d="scan'208";a="47417464" Received: from furbychan.cocan.org ([80.68.91.176]) by mail4-smtp-sop.national.inria.fr with ESMTP; 28 Sep 2009 11:18:31 +0200 Received: from rich by furbychan.cocan.org with local (Exim 4.63) (envelope-from ) id 1MsCNJ-0002RI-VT; Mon, 28 Sep 2009 10:18:29 +0100 Date: Mon, 28 Sep 2009 10:18:29 +0100 To: David McClain Cc: caml-list@inria.fr Subject: Re: [Caml-list] HLVM... Message-ID: <20090928091829.GA9193@annexia.org> References: <2084D077-4ACC-4054-9DFF-A4B23F76BA31@refined-audiometrics.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2084D077-4ACC-4054-9DFF-A4B23F76BA31@refined-audiometrics.com> User-Agent: Mutt/1.5.13 (2006-08-11) From: Richard Jones X-Spam: no; 0.00; integers:01 transitions:01 2009:98 wrote:01 caml-list:01 arithmetic:01 explicitly:02 native:03 overflow:03 implicitly:05 converting:05 sep:06 thread:06 thread:06 modulo:07 On Sun, Sep 27, 2009 at 03:09:02PM -0700, David McClain wrote: > ... remember too, in signal and image processing applications, > converting to raw machine integers and plowing ahead is often > counterproductive. > > Rather we need saturating arithmetic to avoid abrupt transitions on > overflow conditions, or modulo addressing. Neither of these is native > to SSM, and have to be synthesized. DSP chips on the other hand almost > always offer these variations implicitly or explicitly. Please confine messages about HLVM to one thread, and don't start a new thread for every message you post. Rich. -- Richard Jones Red Hat