caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Jon Harrop <jon@ffconsultancy.com>
To: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] The closing gap (warning: long, inflammatory rant)
Date: Sat, 17 May 2008 23:03:23 +0100	[thread overview]
Message-ID: <200805172303.23605.jon@ffconsultancy.com> (raw)
In-Reply-To: <20080421204721.GA11434@annexia.org>

On Monday 21 April 2008 21:47:21 Richard Jones wrote:
> On Mon, Apr 21, 2008 at 03:44:08PM +0100, Jon Harrop wrote:
> > On Monday 21 April 2008 14:11:51 Richard Jones wrote:
> > > Your threaded code is going to look really stupid when you have NUMA
> > > machines with dozens of cores.  Why are we optimizing for a case (SMP)
> > > which will only be around for a few years.  Arguably SMP isn't even
> > > around now ... the AMD machine on which I'm typing this is firmly NUMA
> > > with a good 10% penalty for accessing memory owned by the other
> > > socket.
> >
> > 10% is nothing compared to the orders of magnitude cost of message
> > passing.
>
> Or you could use shared memory (as I said below).

As we recently quantified, that is also 100x slower without a concurrent GC.

> > > > A concurrent GC should be developed.  But I think you can compete in
> > > > some "niches" without a concurrent GC.
> > >
> > > Why should a concurrent GC be developed?  Threaded code is a nightmare
> > > to write & debug, and it's only convenient for lazy programmers who
> > > can't be bothered to think in advance about how they want to share
> > > data.  OCaml supports fork, event channels & shared memory right now
> > > (and has done for years) so there is no penalty to writing it
> > > properly.
> >
> > Ten years ago that was:
> >
> >   "Why should we use gargage collection? Garbage collectors are a
> > nightmare to implement and debug and are only useful for lazy programmers
> > who cannot be bothered to deallocate values themselves. C++ has reference
> > counting right now and there is no penalty for using it properly."
>
> Thanks for the straw man argument there.  Garbage collectors and _not_
> using threads both improve the safety of the language.

Avoiding threads does not improve the safety of the language, it simply 
degrades the capabilities of the language.

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


  parent reply	other threads:[~2008-05-17 22:07 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-21 12:27 Berke Durak
2008-04-21 13:11 ` Richard Jones
2008-04-21 13:29   ` Berke Durak
2008-04-21 14:44   ` Jon Harrop
2008-04-21 20:47     ` Richard Jones
2008-04-21 21:06       ` Arnaud Spiwack
2008-04-21 21:16         ` Berke Durak
2008-04-21 23:06           ` Jon Harrop
2008-05-17 22:03       ` Jon Harrop [this message]
2008-04-21 16:26   ` Elliott Oti
2008-04-21 20:48     ` Richard Jones
2008-04-21 21:06       ` Jon Harrop
2008-04-21 14:59 ` Dario Teixeira
2008-04-21 15:57   ` Berke Durak

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=200805172303.23605.jon@ffconsultancy.com \
    --to=jon@ffconsultancy.com \
    --cc=caml-list@yquem.inria.fr \
    /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).