Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

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
> > 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
Bug reports:  FAQ:
To unsubscribe, mail  Archives: