Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Re: OCaml speed
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ 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