caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Török Edwin" <edwintorok@gmail.com>
To: Dario Teixeira <darioteixeira@yahoo.com>
Cc: caml-list@yquem.inria.fr, Joel Reymont <joelr1@gmail.com>
Subject: Re: [Caml-list] scalable web apps
Date: Mon, 26 Jul 2010 10:29:04 +0300	[thread overview]
Message-ID: <20100726102904.10ed4768@deb0> (raw)
In-Reply-To: <407966.39005.qm@web111512.mail.gq1.yahoo.com>

On Sun, 25 Jul 2010 06:52:46 -0700 (PDT)
Dario Teixeira <darioteixeira@yahoo.com> wrote:

> The only circumstance where I would be cautious on relying solely on a
> naked Ocsigen is if you are also required to serve plenty of static
> content (images, etc).  Even though Ocsigen includes an extension for
> serving static pages, for hysterical reasons no Unix supports
> non-blocking mode for regular files, which of course causes problems
> for Lwt-apps (see the Lwt manual for more information on this).

I thought ocaml's "threads" are meant to solve the I/O problem.
Doesn't it use native pthreads for each OCaml thread, and prior to
performing I/O it releases the mutex allowing other threads to run?
Of course you'd still have to wait for the I/O to complete to serve the
file to one particular user, but in the meantime you could serve some
other (already cached) file to another user, generate some dynamic
content, etc.

Lwt's Lwt_preemptive seems to allow one to use 'preemptive
threads' (which I assume are just usual OCaml threads).
So would it be possible to put the file I/O on Lwt_preemptive.detach
threads? Has anyone tried to measure the performance of doing that?

Best regards,
--Edwin


  parent reply	other threads:[~2010-07-26  7:29 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-24  7:49 Joel Reymont
2010-07-24  8:57 ` Sylvain Le Gall
2010-07-24 10:55 ` [Caml-list] " William Le Ferrand
2010-07-25 13:52 ` Dario Teixeira
2010-07-25 19:19   ` Joel Reymont
2010-07-26  7:29   ` Török Edwin [this message]
2010-07-26  7:59     ` Jérémie Dimino
2010-07-26  8:19       ` Török Edwin
2010-07-27  6:46         ` Jérémie Dimino
2010-07-26 11:27       ` Dario Teixeira
2010-07-26 19:57       ` Jake Donham
2010-07-26 20:02         ` Török Edwin
2010-07-27  6:55         ` Jérémie Dimino
2010-07-26  9:11   ` Sylvain Le Gall
2010-07-26 11:10     ` [Caml-list] " Dario Teixeira
2010-07-26 12:58       ` Sylvain Le Gall
2010-07-26 13:20         ` [Caml-list] " William Le Ferrand
2010-07-25 19:46 ` [Caml-list] " Richard Jones
2010-07-25 21:45   ` Dario Teixeira
2010-07-25 21:56     ` Joel Reymont
2010-07-25 22:03       ` Gabriel Kerneis
2010-07-25 22:24       ` Dario Teixeira
2010-07-26  7:34       ` Richard Jones
2010-07-26 11:20         ` Dario Teixeira
2010-07-26 16:50           ` Florent Monnier
2010-07-26 17:10             ` Sylvain Le Gall
2010-07-26 17:21               ` [Caml-list] " Gabriel Kerneis
2010-07-26 17:37                 ` Sylvain Le Gall
2010-07-25 22:44     ` [Caml-list] " Yoann Padioleau
2010-07-26  9:08       ` Sylvain Le Gall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100726102904.10ed4768@deb0 \
    --to=edwintorok@gmail.com \
    --cc=caml-list@yquem.inria.fr \
    --cc=darioteixeira@yahoo.com \
    --cc=joelr1@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).