Version française
Home     About     Download     Resources     Contact us    
Browse thread
The state of ML: multi-threaded, saved state and support platforms
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jon Harrop <jon@f...>
Subject: Re: [Caml-list] The state of ML: multi-threaded, saved state and support platforms
On Thursday 11 June 2009 16:49:10 Richard Jones wrote:
> which will work better on new multicore machines which are all NUMA
> nowadays, 

Spawning parallel work items is 30,000x faster in F# using the TPL than in 
OCaml using fork. Passing data is asymptotically faster in F# using the TPL 
than in OCaml using MPI. Cilk is much faster still.

In other words, F# can do 60MFLOPS of computation in the time it takes OCaml 
to fork a single process.

Suffice to say, there is no way any approach currently available in 
OCaml "will work better on new multicore machines".

> and in any case is simpler to program

On the contrary, OCaml is a *lot* harder to program because it introduces 
additional complexity. Specifically, communication is now O(n) instead of 
O(1), including gathering the results of parallel computations. There are 
workarounds but they require manual memory management which is even more 
unnecessary complexity.

-- 
Dr Jon Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?e