From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id WAA24994; Mon, 5 Nov 2001 22:10:38 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 WAA24223 for ; Mon, 5 Nov 2001 22:10:37 +0100 (MET) Received: from abel (nat.umh.ac.be [193.190.193.1]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id fA5LAaH26121 for ; Mon, 5 Nov 2001 22:10:36 +0100 (MET) Received: from abel ([127.0.0.1] helo=localhost ident=trch) by abel with esmtp (Exim 3.32 #1 (Debian)) id 160r1a-0004lp-00; Mon, 05 Nov 2001 22:11:18 +0100 Date: Mon, 05 Nov 2001 22:11:18 +0100 (CET) Message-Id: <20011105.221118.74322497.debian00@tiscalinet.be> To: "O'Caml Mailing List" Subject: [Caml-list] Array Optimizations From: Christophe TROESTLER X-Spook: CIA genetic PLO FBI Khaddafi Rule Psix Qaddafi Semtex Legion of Doom jihad X-Mailer-URL: http://www.mew.org/ X-Operating-System: GNU/Linux (http://www.linux.org/) X-Blessing: Om Ah Hum Vajra Guru Pema Siddhi Hum X-Mailer: Mew version 2.1 on Emacs 20.7 / Mule 4.0 (HANANOEN) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hi all, The following paper (that I found by chance) http://www.cs.cornell.edu/Courses/cs612/2001SP/projects/ocaml-arrays/OCaml.pdf describes a set of optimizations that improves array access speed in Caml _without_loosing_bound_checking_ (contrarily to the -unsafe option). The performance gain on their examples looks good, in fact they even beat gcc in some cases! In their words: The final performance of MMM surpasses even that of the best-case baseline kernel --- the linearized 1D Array with bounds checking disabled --- yet without sacrificing the safety of bounds checking or requiring the programmer to linearize accesses. and We conclude that OCaml could be a serious contender against languages such as C and Fortran for use in numerically intensive computation. Is there anything like that (to be) implemented into the OCaml compilers? I believe many people besides myself will be interested to have the power of Caml available with extremely good array access times in loops. Keep up with the good work! Cheers, ChriS P.S. As outlined in the paper, the Bigarray library is really slow (much slower than the standard Array). Given its (other) capabilities, it is tempting to use it for numeric processing however. Until this is solved, shouldn't there be a warning somewhere (in the manual?). Related links: -------------- Array Data Dependence Analysis http://www.cs.umd.edu/projects/omega/sectionstar3_1.html The Omega Project: http://www.cs.umd.edu/projects/omega/ http://www.cs.cornell.edu/Courses/cs612/2001SP/projects/ocaml-arrays/ ------------------- Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr