On 01/03/2014 04:03 PM, Mark Lee wrote:
On Fri, 2014-01-03 at 15:55 -0500, Isaac Dupree wrote:
On 01/03/2014 10:37 AM, Anatol Pomozov wrote:
Using -j$(cpunum) is a sane default that saves a lot of time to users.
I agree, but for the record, 'nice' and scheduling are no panacea in my
experience. It's fine for CPU loads, but compilations are also
disk-heavy (which mattered when I used a spinning disk) and sometimes
RAM-heavy (-j8 on my pet C++ project uses 2GB of RAM, which could push
other programs I'm using into swap).
-Isaac
Salutations,
I got to ask why you are running make with 8 threads on a system with
only 2 GB of ram?
Heh. Well, I have 8 GB of RAM, but I'm often using most of it already.
$(nproc) is 8 because there are 4 cores with each with hyperthreading
(Intel Core i7). The project builds roughly at the same speed on this
box at anywhere from -j4 to -j8; if that generalizes to other projects
and there's an easy way to count cores not hyperthreads, cores might be
a better Arch default. Shrugs.
There are quite a few 4GB i7 systems out there too. Quad core ARM
systems are another point on the cores-to-RAM-ratio spectrum.
Probably most code doesn't consume 256 MB RAM per GCC invocation. C++'s
templates and lack of module system...
-Isaac