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 97F4CBC62 for ; Fri, 16 Sep 2005 17:19:44 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j8GFJhEq022792 for ; Fri, 16 Sep 2005 17:19:44 +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 RAA06518 for ; Fri, 16 Sep 2005 17:19:43 +0200 (MET DST) Received: from smtp5.wanadoo.fr (smtp5.wanadoo.fr [193.252.22.26]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j8GFJhZI022787 for ; Fri, 16 Sep 2005 17:19:43 +0200 Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf0506.wanadoo.fr (SMTP Server) with ESMTP id 1C9931C0024F for ; Fri, 16 Sep 2005 17:19:43 +0200 (CEST) Received: from oemcomputer (Mix-Lyon-121-2-161.w80-12.abo.wanadoo.fr [80.12.19.161]) by mwinf0506.wanadoo.fr (SMTP Server) with SMTP id F16801C00257; Fri, 16 Sep 2005 17:19:41 +0200 (CEST) X-ME-UUID: 20050916151941988.F16801C00257@mwinf0506.wanadoo.fr Message-ID: <000501c5bad1$ce1c0080$a1130c50@oemcomputer> From: "Damien Guichard" To: "Jeffrey Mathews" , References: <305c47f0509151621621a630d@mail.gmail.com> Subject: Re: [Caml-list] Floating point optimization patch for OCaml bytecode Date: Fri, 16 Sep 2005 17:17:04 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 X-Miltered: at concorde with ID 432AE290.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 432AE28F.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; damien:01 caml-list:01 ocaml:01 bytecode:01 ocaml:01 bytecode:01 damien:01 caml-list:01 compiler:01 runtime:01 unboxing:01 patched:01 metaocaml:01 beginner's:01 beginners:01 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=none autolearn=disabled version=3.0.3 Thanks Jeffrey. When OCaml is used as a scripting language (think animation-scripting) it has to compete with popular scripting language such as Perl, Python, Ruby. For many people the choice is a tradeoff between language facilities and implementation performance. So, yes, bytecode performance matters. - damien ----- Original Message ----- From: "Jeffrey Mathews" To: Sent: Friday, September 16, 2005 1:21 AM Subject: [Caml-list] Floating point optimization patch for OCaml bytecode I know, I know -- why bother optimizing bytecode? (Compelling reasons have long been debated -- for me, it's a need to do dynamic- / meta- programming.) Anyway, I've written a small patch for the OCaml bytecode compiler and runtime that significantly improves the performance of a few floating-point intensive benchmarks (from 30 to 40%) by reducing boxing and unboxing of intermediate floating point results. This is still preliminary work, and honestly I'm a little suspicious that it works so well. Testing has also been light -- it compiles and runs my 'benchmark' script when patched against ocaml 3.08.1 and 3.08.4 (as well as MetaOcaml, though the patch needs a little coaxing). A short write-up can be found at http://dem.inim.us/ocamlfp/README-FP.html The patch is found at http://dem.inim.us/ocamlfp/ocamlfp-0.1.diff.gz I'd greatly appreciate feedback, criticism, testing on other platforms. Thanks in advance, Jeff _______________________________________________ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs