From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id D9963BBAF for ; Thu, 15 Jul 2010 19:16:36 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ao0CAC/fPkzRVda0mGdsb2JhbACSezGLXlIIFQEBAQEBCAkMBxEirh6CD4YOLohTAQEDBYUfBIhQ X-IronPort-AV: E=Sophos;i="4.55,209,1278280800"; d="scan'208";a="66504202" Received: from mail-iw0-f180.google.com ([209.85.214.180]) by mail4-smtp-sop.national.inria.fr with ESMTP; 15 Jul 2010 19:16:35 +0200 Received: by iwn8 with SMTP id 8so1573731iwn.39 for ; Thu, 15 Jul 2010 10:16:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:cc:content-type; bh=VB+uvdVyE0NtKkR0lJXpVf7R/50qcfxKfi5R6G063H0=; b=P8ESpdL+fyGLCFhyPJzDO7ahTH+PLc/rpp0AMgjJMtFieBQrxfiS/evrI2n+qRlFJX kWVX2sXTbhgf9mUYL5e9QgXZlPSaVFP+PgKyyETVBE6kX9tLTI90GzSOT+nAFNB1WiDS TQwyTAY1A6sBqCgOhgivswvnQGk13YrueGPBo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=Ho6SdidC//wUZzhB+9TXQVlZX44Vx9/LZeH6VgGTL5x4Uzc2hC9iNE0b3+dkuosakL GdvTkwCKSPOoRoqCRGC17ihtJ3iJZSaKPXQANLSJBogzi2kO1kTrg8f3YHONb6bVpFPo UoQQ7LZNrjyNx6UwdTq8yY1QjYVox+qUefy6I= Received: by 10.231.148.83 with SMTP id o19mr3523097ibv.112.1279214193628; Thu, 15 Jul 2010 10:16:33 -0700 (PDT) MIME-Version: 1.0 Received: by 10.231.182.132 with HTTP; Thu, 15 Jul 2010 10:16:12 -0700 (PDT) In-Reply-To: References: <87sk3mcaeq.fsf@frosties.localdomain> From: Ashish Agarwal Date: Thu, 15 Jul 2010 13:16:12 -0400 Message-ID: Subject: Re: [Caml-list] Smart ways to implement worker threads To: Rich Neswold Cc: Goswin von Brederlow , caml-list@yquem.inria.fr Content-Type: multipart/alternative; boundary=0016e644c6289a57e1048b70437e X-Spam: no; 0.00; model:01 mutexes:01 threading:01 threading:01 ocaml's:01 contrib:01 ocaml:01 beginner's:01 ocaml:01 bug:01 model:01 mutexes:01 ocaml's:01 beginner's:01 bug:01 --0016e644c6289a57e1048b70437e Content-Type: text/plain; charset=ISO-8859-1 The link given to Reppy's book leads to either: a direct download option which does not work, or a sponsored option which goes to sites that seem unreliable and require us to register. Is the download available more easily elsewhere? I didn't get anywhere with google. Thanks. On Thu, Jul 15, 2010 at 11:58 AM, Rich Neswold wrote: > On Wed, Jul 14, 2010 at 11:09 AM, Goswin von Brederlow wrote: > >> 4) Do some magic with Event.t? >> >> Problem: never used this and I could use a small example how to use >> this. >> > > Event.t (and its associated library) *is* magical in that it provides an > absolutely beautiful concurrent programming model. Forget about select() and > mutexes and other ugly threading concepts. Event.t and friends is how it > should be done. > > John H. Reppy's "Concurrent Programming in ML" > provides a thorough understanding of how to use this module effectively. > This book presents the material in a very understandable > way: deficiencies in current threading models are discussed as well as how > CML solves the limitations and constraints. The book can be purchased or > downloaded free online. > > The few applications I've written that use CML, I found it was more than > sufficient (speed-wise). Whether your application is more demanding, I can't > tell. > > Hopefully someone on the list with more experience can comment whether > there are caveats (performance-related or others) in OCaml's support of CML. > If there are, there should be an effort in fixing the problems (I would help > in any way I could.) I'd also recommend incorporating Satoshi Ogasawara's Concurrent > Cell project into > the standard library. (This project adds IVars and MVars and other > constructs described in John H. Reppy's book, but not available in the OCaml > standard library.) > > Hope this helps! > > -- > Rich > > Google Reader: https://www.google.com/reader/shared/rich.neswold > Jabber ID: rich@neswold.homeunix.net > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > > --0016e644c6289a57e1048b70437e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable The link given to Reppy's book leads to either: a direct download optio= n which does not work, or a sponsored option which goes to sites that seem = unreliable and require us to register. Is the download available more easil= y elsewhere? I didn't get anywhere with google.=A0Thanks.


On Thu, Jul 15, 2010 at 11:58 AM, Rich N= eswold <rich= .neswold@gmail.com> wrote:
On Wed, Jul 14, 2010 at 11:09 AM, Goswin von Brederlow <= goswin-v-b@web.de> wrote:
4) Do some magic with Event.t?

Problem: never used this and I could use a small example how to use
this.

Event.t (and its associated= library) *is* magical in that it provides an absolutely beautiful concurre= nt programming model. Forget about select() and mutexes and other ugly thre= ading concepts. Event.t and friends is how it should be done.

John H. Reppy's "Concurrent P= rogramming in ML" provides a thorough understanding of how to use = this module effectively. This book presents the material in a very understa= ndable way:=A0deficiencies=A0in current threading models are discussed as w= ell as how CML solves the limitations and constraints. The book can be purc= hased or downloaded free online.

The few applications I've written that use CML, I f= ound it was more than sufficient (speed-wise). Whether your application is = more demanding, I can't tell.

Hopefully someon= e on the list with more experience can comment whether there are caveats (p= erformance-related or others) in OCaml's support of CML. If there are, = there should be an effort in fixing the problems (I would help in any way I= could.) I'd also recommend incorporating=A0Satoshi Ogasawara's <= a href=3D"http://caml.inria.fr/cgi-bin/hump.en.cgi?contrib=3D654" target=3D= "_blank">Concurrent Cell project into the standard library. (This proje= ct adds IVars and MVars and other constructs described in John H. Reppy'= ;s book, but not available in the OCaml standard library.)

Hope this helps!

--
Rich
Google Reader: https://www.google.com/reader/shared/rich.neswold<= /a>
Jabber ID:
r= ich@neswold.homeunix.net

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.in= ria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs


--0016e644c6289a57e1048b70437e--