[racket-dev] Places -- on by default in v5.1.1.2. (git master)

From: Eli Barzilay (eli at barzilay.org)
Date: Thu Apr 21 05:33:47 EDT 2011

Two days ago, Kevin Tew wrote:
> 
> This means that parallel zo and doc builds will use places instead
> of processes.
> 
> Report bugs as usual :)

Here's a major bug: the memory consumption is *horrible*.  Winooski,
the main build machine, has 4 cores and 4gb ram.  Things used to be
pretty bad with 4 build processes, each taking around 500mb or a
little more -- but this change turned it from bad to nightmarish.
(The machine gets overwhelmed by the load while memory consumption
goes up mercilessly, gets to the point of thrashing badly and leading
the kernell to go off on a random killing spree.)

Please disable it.

The first build died in a way that was probably similar to that.  The
second one happened while I was working, so I got to see the horror
from a closer range, and killed it myself.  (A project that took about
10 minutes to accomplish.)  Before it died, the rough numbers were:
about 3.8gb of virtual memory, and a resident size of around 2.1gb.
My guess is that, like you said, the memory footprint is essentially
the same, but with 4 processes the kernel can sort things out and
starve one process while the others make progress, and with one
there's not much that it can do.  (But that's just a guess.)

As for the reason I ask to disable it: IMO, a 4gb memory is not
something that should be considered common, and >= 4 cores too.  So
this makes a good recipe for a bad first-experience with the
langauge.  (If I see some random language that kills my machine when I
try to compile it, I'd probably not only dump it, but complain loudly
whenever I see it mentioned.)

Alternatively, if there's a way to check the machine's physical
memory, then make it use something like 1 core per 2gb ram.  This
applies for the multiple-processes variant too, though the number
might be a little lower.

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!


Posted on the dev mailing list.