# make -j3

## Diverse

Witam,

niedawno, zniechecony czasem komplacji kernela na 2x p3, z ciekawosci, zamiast zwyklego make, wpisalem make -j3 i dalo to zaczny przyrost szybkosci kompilacji:

z

```

real 26m18.200s

user 23m44.570s

sys 1m50.460s
```

na

```

real 14m56.096s

user 25m24,470s

sys 2m2.330s
```

Jednak w handbooku nic nie pisze o czyms takim, czy jest to bezpieczne? I co oznaczaja wartosci user i sys w poleceniu time  :Confused: 

Pozdr.

----------

## SlashBeast

Ja od zawsze, zawsze daje make -j4 przy kompilacji kernela, nie zauwazylem zadnego bledu.

----------

## caruso

Jak nie ma w handbooku jak jest:

http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?full=1#book_part2_chap3

Sekcja MAKEOPTS.

----------

## Odinist

Ja mam -j6 z distcc, choć zdarza się, że aplikacje albo kompilują się z -j1 albo tylko na innym jednym kompie z -j6...   :Confused: 

----------

## SlashBeast

 *caruso wrote:*   

> Jak nie ma w handbooku jak jest:
> 
> http://www.gentoo.org/doc/pl/handbook/handbook-x86.xml?full=1#book_part2_chap3
> 
> Sekcja MAKEOPTS.

 Mówimy tutaj o kompilacji KERNELa, a on nie jest kompilowany przez emerge, więc i zmienna MAKEOPTS na wiele się nie zda.

----------

## caruso

Wydaje mi się, że zmienna MAKEOPTS w make.conf zmienia parametry kompilacji przy każdorazowym odpaleniu make nie tylko z portage.

[EDITED]

W takim razie mea culpa   :Embarassed: 

----------

## Odinist

Źle Ci się wydaje   :Cool: 

----------

## Arfrever

Jako uzupełnienie powyższych danych informuję, że MAKEOPTS ma wpływ na działanie programu `emake` zazwyczaj używanego w ebuildach:

```
$ cat /usr/lib/portage/bin/emake

#!/bin/bash

# Copyright 1999-2006 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Id: emake 3483 2006-06-10 21:39:54Z genone $

#

# emake: Supplies some default parameters to GNU make. At the moment the

#        only parameter supplied is -jN, where N is a number of

#        parallel processes that should be ideal for the running host

#        (e.g. on a single-CPU machine, N=2).  The MAKEOPTS variable

#        is set in /etc/make.globals.  We don't source

#        /etc/make.globals here because emake is only called from an

#        ebuild.

exec ${MAKE:-make} ${MAKEOPTS} ${EXTRA_EMAKE} "$@"
```

Jeśli jakiś ebuild używa `make` zamiast `emake`, to ustawienia zawarte w zmiennej MAKEOPTS nie są używane.

Perduodu linkėjimus

Arfrever

----------

