# emerge4Quadcore

## scurrell

Ich hab mir mal gkrellm installiert.

Dabei ist mir aufgefallen, dass bei emerge jeweils nur ein Core benutzt wird.

Mal core0, mal core2

Gibt es eigentlich eine Einstellung, dass alle cores gleichzeitig benutzt werden koennen ?

Vielleicht auch bei den python-Einstellungen ?

----------

## franzf

AFAIK kann python kein richtiges multithreading dank globalem Interpreter-Lock. Daher wirst du nie mehr als diese 100% sehen.

----------

## py-ro

Das hat nichts mit Python zu tun und ist auch quatsch. Das Abhängigkeiten auflösen ist ein komplizierter Vorgang und so schon schwer zu verstehen. Patches die das zuverlässig auf mehrere Cores verteilen wären gerne gesehen.

Davon ab später beim kompilieren der Pakete gibt es eben MAKEOPTS, aber das hilft z.B. nicht in der configure Phase.

Auf emerge Ebene gibt es --jobs. Viel mehr ist da nicht drin.

Bye

Py

----------

## kernelOfTruth

dev-python/pypy

(ich nehm einmal an, dass es auch parallelisiert läuft neben dem Vorteil der JIT)

aber das scheint nicht wirklich mit portage zu funktionieren   :Sad: 

----------

## bell

FEATURES="parallel-fetch" gibt es auch noch. Probiere mal alles genannte aus, es bringt schon ziemlich viel. Damit kann man sein System schon ziemlich in die Knie zwingen. Also in der make.conf 

```
MAKEOPTS="-j6"
```

 damit der Compiler soweit es geht parallelisiert arbeitet

```
FEATURES="parallel-fetch"
```

 damit die Sources (ab Paket 2) runtergeladen werden während der Compiler das erste Paket baut

```
--jobs
```

auf der Kommandozeile (btw. -j) damit Pakete parallel gebaut werden soweit die Abhängigkeiten es zulassen

Damit das System mit all diesen Einstellungen während eines Emerge noch nutzbar bleibt wäre auch folgendes in der make.conf sinnvoll:

```
PORTAGE_NICELESS=20

PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}"
```

Damit hat Portage auf der CPU und IO die niedrigste Priorität, baut also etwas langsamer wenn die Ressourcen gerade woanders benötigt werden.

Das einzige wo Portage relativ lahm ist ist beim "--search". Aber dafür gibt es app-portage/eix

----------

