[
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: | 2006-03-07 (17:12) |
From: | skaller <skaller@u...> |
Subject: | Re: [Caml-list] STM support in OCaml |
On Tue, 2006-03-07 at 16:18 +0000, Asfand Yar Qazi wrote: > Hi, > > I've temporarily decided to leave off learning OCaml (although I still intend > to learn it at some point) and start learning Haskell due to its support for > Software Transactional Memory and lock-free concurrent programming. AFAIK STM is not lock free. It simply limits the locking period to a bounded time, at the expense of the whole transaction taking unbounded time. The final compare/write/retry must be atomic and is therefore protected by a mutex under the hood. Sebastian Egner said in another post the main advantage of STMs: they have a combinator form, that is, they can be composed. However, despite the lack of safety in a bolt on addition for Ocaml .. the real problem is that STM isn't that useful unless you have (a) a lot of processors (b) a lot of variables so that the risk of contention is low and the cost of long exclusions is high. Ocaml fails to satisfy property (a) since it doesn't support multi-processing. -- John Skaller <skaller at users dot sourceforge dot net> Async PL, Realtime software consultants Checkout Felix: http://felix.sourceforge.net