Browse thread
[Caml-list] Re: OCaml speed
[
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: | Rolf Wester <rolf.wester@i...> |
| Subject: | [Caml-list] Re: OCaml speed |
Christophe Raffalli wrote: > Rolf Wester a écrit : > > > > Hi, > > > > I used the array access example from > > http://www.bagley.org/~doug/shootout/ to compare c/c++ speed against > > ocaml. The sources I used are attached below. Unfortunately I could > > not confirm the given cpu times which are 0.11 sec for gcc and 0.13 > > for ocamlopt. My results on a Compaq Alpha True64 are 0.05 for cxx, > > 0.1 for g++ and 0.29 for ocamlopt. Does anybody have an idea what > > could be the reason for this inconsistency? Did I do anything wrong? > > > > Your code mainly does integer operations and array accesses. > > The main difference between C and Ocaml are the reserved bit in integer > used by ocaml for the GC. Then the generated assembly code are really > different and it is possible that this diffrence cost nothing (almost) > on a pentium and a lot on a Alpha True64. > > May be Xavier Leroy could look at the assembly code to tell if I am > right ? > > You could also try with float arrays which should make less difference > for your code ? > I tried it with floats. The differences are quite similar. With -unsafe I get a speedup of almost 100%. I mostly do numerical computations with heavy use of arrays. OCamls array performance is sufficient for some of my applications but there are still quite a lot of problems that need better performance so I'm stuck with C/C++ either as OCaml extension or without OCaml. I'm thinking about a numerical extension written in C comparable to the Python Numpy package. At the moment I try to interface with the FFTW library. The biggest problem is that there is no OCaml build in type complex and that the Bigarray doesn't have complex too (sometime ago I read that someone was thinking about adding complex numbers to the Bigarray module, I would appreciate this very much). Rolf Wester ------------------------------------- Rolf Wester rolf.wester@ilt.fraunhofer.de ------------------- 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