English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
HLVM stuff
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2009-09-28 (00:35)
From: David McClain <dbm@r...>
Subject: Re: [Caml-list] HLVM stuff

On Sep 27, 2009, at 16:14 PM, Jon Harrop wrote:

> Here is a better one-line F# solution:
>  images |> Array2D.map (fun xs -> Array.sortInPlaceWith compare xs;  
> xs.[m/2])
> This solves your problem from the REPL in 0.34s. Moreover, you can  
> easily
> parallelize it in F#:
>  Parallel.For(0, n, fun y ->
>    for x=0 to n-1 do
>      Array.sortInPlaceWith compare images.[y, x])
>  images |> Array2D.map (fun xs -> xs.[m/2])
> On this 8-core box, the time taken is reduced to 0.039s (finally a  
> superlinear
> speedup on my Intel box, yay!).

Yes, this is beginning to sound very interesting... So now that you  
have F#, which I understand to be some derivative of OCaml, why do you  
need HLVM? Is F# using the LLVM? or is it executing natively compiled  

 From what I have garnered today in a quick scan of JIT docs, it  
appears that JIT cannot compete yet with native code. But if the  
timings you stated are for some kind of JIT against byte-codes, I am  
very impressed.

Thanks for that...

Dr. David McClain