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 mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 2BD36BBB7 for ; Tue, 23 Dec 2008 10:44:01 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AusBAABBUEnAbSoImWdsb2JhbACTbQEBAQEBCAsKBxGqYliQf4ZD X-IronPort-AV: E=Sophos;i="4.36,270,1228086000"; d="scan'208";a="21660573" Received: from einhorn.in-berlin.de ([192.109.42.8]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 23 Dec 2008 10:44:00 +0100 X-Envelope-From: oliver@first.in-berlin.de X-Envelope-To: Received: from einhorn.in-berlin.de (localhost [127.0.0.1]) by einhorn.in-berlin.de (8.13.6/8.13.6/Debian-1) with ESMTP id mBN9hxxu029379 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Tue, 23 Dec 2008 10:43:59 +0100 Received: (from www-data@localhost) by einhorn.in-berlin.de (8.13.6/8.13.6/Submit) id mBN9hxB0029377 for caml-list@yquem.inria.fr; Tue, 23 Dec 2008 10:43:59 +0100 X-Authentication-Warning: einhorn.in-berlin.de: www-data set sender to oliver@first.in-berlin.de using -f Received: from dslb-088-073-088-029.pools.arcor-ip.net (dslb-088-073-088-029.pools.arcor-ip.net [88.73.88.29]) by webmail.in-berlin.de (IMP) with HTTP for ; Tue, 23 Dec 2008 10:43:59 +0100 Message-ID: <1230025439.4950b2dfa6cdc@webmail.in-berlin.de> Date: Tue, 23 Dec 2008 10:43:59 +0100 From: Oliver Bandel To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] More Caml References: <157727.93194.qm@web111508.mail.gq1.yahoo.com> <20081220093640.a8da1a8c.mle+ocaml@mega-nerd.com> <200812192253.15207.jon@ffconsultancy.com> <200812221700.09010.jon@ffconsultancy.com> In-Reply-To: <200812221700.09010.jon@ffconsultancy.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2.6 X-Scanned-By: MIMEDefang_at_IN-Berlin_e.V. on 192.109.42.8 X-Spam: no; 0.00; bandel:01 in-berlin:01 ocaml-team:01 compiler:01 ocaml:01 ocamlopt:01 arrays:01 extern:01 printf:01 ocaml:01 statically:01 decay:98 wrote:01 wrote:01 oliver:01 Hello Jon, where have you been for such a long time? It seems, your destructive ages of blaming OCaml-team instead of implementing things by your own, are now gone (or at least on decay). Seems you are back on the constructive side. Nice to meet you at this place. :) Zitat von Jon Harrop : > On Friday 19 December 2008 22:53:15 Jon Harrop wrote: > > On Friday 19 December 2008 22:36:40 Erik de Castro Lopo wrote: > > > Jon Harrop wrote: > > > > I have actually already started this using the excellent LLVM > project > > > > and I just obtained the first promising results yesterday: a > simple > > > > benchmark where my compiler runs OCaml code 3x faster than > ocamlopt > > > > does. > > > > > > Is this going to be an open source project? > > > > Yes. > > Just to update: I've spent a couple more days playing with this. I > now have > unit, bools, ints, floats, arrays, fast internal calling convention > with tail > calls, C-compatible external calling convention, arbitrary extern > functions, > C printf, multiple function arguments and multiple function return > values [...] Fine. :) > (passed on the stack!). I have written a few tiny benchmarks and the > results > compared to OCaml on x86 are promising: > > Float Fibonacci: 2.9x faster than OCaml. > Sieve of Eratosthenes: 1.8x faster than OCaml. > Mandelbrot: 2.9x faster than OCaml. cool. :) We wait for the day, when it's faster than assembler. ;-) [...] > LLVM even does a decent job of statically type checking the code, > which helps > a lot when debugging (once you get used to the error messages!). [...] You mentioned LLVM is using 3-op-code. Interesting. Since a while I thought about using such a language level for own implementations, but it was not more than idea on using it. To have the LLVM-project implementing this is fine. This makes the start easier. Seems to be interesting and mature enough to use it. Ciao, Oliver