Browse thread
[Caml-list] Array Optimizations
- Christophe TROESTLER
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Christophe TROESTLER <debian00@t...> |
| Subject: | [Caml-list] Array Optimizations |
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