From: Gerd Stolpmann <info@gerd-stolpmann.de>
To: Jon Harrop <jon@ffconsultancy.com>
Cc: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] Re: thousands of CPU cores
Date: Fri, 11 Jul 2008 00:39:42 +0200 [thread overview]
Message-ID: <1215729582.24773.43.camel@flake.lan.gerd-stolpmann.de> (raw)
In-Reply-To: <200807102235.52882.jon@ffconsultancy.com>
Am Donnerstag, den 10.07.2008, 22:35 +0100 schrieb Jon Harrop:
> On Thursday 10 July 2008 22:19:05 Gerd Stolpmann wrote:
> > After having ported godi to mingw I am not sure whether this works at
> > all. The point is that you usually want to inherit OS resources to the
> > child process (e.g. sockets). The CreateProcess Win32 call
> > (http://msdn.microsoft.com/en-us/library/ms682425(VS.85).aspx) mentions
> > that you can inherit handles, but I would be careful with the
> > information given in MSDN. Often it works only as far as the presented
> > examples. Windows isn't written for multi-processing, and its syscalls
> > aren't as orthogonal as in Unix-type systems.
> >
> > Furthermore, it looks like a pain in the ass - often you want to run
> > some initialization code, and without fork() you have to run it as often
> > as you start processes.
> >
> > Also, Windows is just a bad platform for event-based programs, and you
> > want to do it to some extent (e.g. for watching all your child
> > processes). Only for socket handles there is a select() call. For all
> > other types of handles you cannot find out in advance whether the
> > operation would block or not.
> >
> > So... if there is any chance you can select the OS, keep away from
> > Windows for this type of program.
>
> I think your conclusion needs qualification.
>
> You are trying to shoehorn an existing process-based Linux solution onto
> Windows and discovering that it does not work well. However, Windows already
> provides different ways of achieving the same thing, e.g. F# with its
> first-class events and built-in asynchronous programming syntax using
> the .NET thread pool and mailboxes for message passing.
>
> Moreover, the idiomatic solution on Windows is almost certainly faster than
> anything you can reasonably write under Linux in the absence of a concurrent
> GC (i.e. off the JVM).
You are right, this is pretty much incomparable. MS has its own way of
doing things, making it hard to write portable code. I mean other OS
vendors managed to jump on the POSIX train.
We should stop here, it's getting off-topic.
Gerd
--
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany
gerd@gerd-stolpmann.de http://www.gerd-stolpmann.de
Phone: +49-6151-153855 Fax: +49-6151-997714
------------------------------------------------------------
next prev parent reply other threads:[~2008-07-10 22:39 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-10 5:57 J C
2008-07-10 6:15 ` [Caml-list] " Erik de Castro Lopo
2008-07-10 12:47 ` Oliver Bandel
2008-07-10 13:48 ` Hezekiah M. Carty
2008-07-10 11:35 ` Jon Harrop
2008-07-14 11:32 ` J C
2008-07-14 12:08 ` Jon Harrop
2008-07-14 17:04 ` Mike Lin
2008-07-14 17:28 ` Jon Harrop
2008-07-14 17:16 ` Richard Jones
2008-07-10 13:21 ` Jon Harrop
2008-07-10 13:44 ` Peng Zang
2008-07-10 14:00 ` Jon Harrop
2008-07-10 22:25 ` Richard Jones
2008-07-10 23:04 ` Jon Harrop
2008-07-10 23:41 ` Oliver Bandel
2008-07-11 0:17 ` Oliver Bandel
2008-07-11 9:30 ` Richard Jones
2008-09-21 19:05 ` Michaël Grünewald
2008-09-21 21:41 ` Jon Harrop
2008-09-22 7:51 ` Alan Schmitt
2008-09-22 19:03 ` Jon Harrop
2008-09-22 19:49 ` David Teller
2008-09-23 6:42 ` kirillkh
2008-09-24 13:30 ` [Caml-list] Link tracking Chris Clearwater
2008-09-24 15:43 ` Jon Harrop
2008-07-11 14:53 ` [Caml-list] thousands of CPU cores Peng Zang
2008-07-15 14:39 ` Kuba Ober
2008-07-19 12:41 ` Oliver Bandel
2008-07-10 19:15 ` Gerd Stolpmann
2008-07-10 20:07 ` Sylvain Le Gall
2008-07-10 20:24 ` [Caml-list] " Gerd Stolpmann
2008-07-10 21:02 ` Sylvain Le Gall
2008-07-10 21:19 ` [Caml-list] " Gerd Stolpmann
2008-07-10 21:35 ` Jon Harrop
2008-07-10 22:39 ` Gerd Stolpmann [this message]
2008-07-15 15:57 ` Kuba Ober
2008-07-15 18:03 ` Gerd Stolpmann
2008-07-15 19:23 ` Adrien
2008-07-15 19:45 ` Adrien
2008-07-16 8:59 ` Michaël Grünewald
2008-07-16 16:43 ` Gerd Stolpmann
2008-07-16 11:46 ` Richard Jones
2008-07-16 18:35 ` Erik de Castro Lopo
2008-07-17 12:48 ` Kuba Ober
2008-07-15 15:21 ` Kuba Ober
2008-07-10 20:48 ` Basile STARYNKEVITCH
2008-07-10 21:12 ` Jon Harrop
2008-07-10 23:33 ` [Caml-list] " Oliver Bandel
2008-07-10 23:43 ` Oliver Bandel
2008-07-11 6:26 ` Sylvain Le Gall
2008-07-11 8:50 ` [Caml-list] " Jon Harrop
2008-07-11 9:29 ` Sylvain Le Gall
2008-07-15 16:01 ` [Caml-list] " Kuba Ober
2008-07-13 3:17 ` Code Mobility [was Re: thousands of CPU cores] Robert Fischer
2008-07-11 3:01 ` [Caml-list] thousands of CPU cores Brian Hurt
2008-07-11 13:01 ` Gerd Stolpmann
2008-07-11 13:43 ` Jon Harrop
2008-07-11 14:03 ` Basile STARYNKEVITCH
2008-07-11 15:08 ` Jon Harrop
2008-07-11 17:28 ` Jon Harrop
2008-07-11 17:54 ` Richard Jones
2008-07-11 18:30 ` Raoul Duke
2008-07-12 17:35 ` Brian Hurt
2008-07-11 15:01 ` Peng Zang
2008-07-12 0:23 ` Oliver Bandel
2008-07-12 22:54 ` J C
2008-07-19 12:06 ` Oliver Bandel
2008-07-11 14:06 ` Xavier Leroy
2008-07-11 15:20 ` Oliver Bandel
2008-07-11 15:23 ` Bill
2008-07-11 18:14 ` Mattias Engdegård
2008-07-12 23:05 ` J C
2008-07-10 23:24 [Caml-list] " Damien Guichard
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=1215729582.24773.43.camel@flake.lan.gerd-stolpmann.de \
--to=info@gerd-stolpmann.de \
--cc=caml-list@yquem.inria.fr \
--cc=jon@ffconsultancy.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