Gentoo Archives: gentoo-user-de

From: Arnold Krille <arnold@×××××××××××××××××.org>
To: gentoo-user-de@l.g.o
Subject: [gentoo-user-de] Distcc
Date: Fri, 01 Oct 2004 10:50:06
Message-Id: 200410011249.13264.arnold@roederberg.dyndns.org
In Reply to: Re: [gentoo-user-de] Sinnvolle USE-flags / make.conf in Verbindung mit Binaerpaketen by Bernd Wurst
1 On Friday 01 October 2004 11:24, Bernd Wurst wrote:
2 > Am Freitag, 1. Oktober 2004 11:00 schrieb Thorsten Dikmann:
3 > > Hmm also spontan fällt mir nur distcc dafür ein, aber dann ist
4 > > wahrscheinlich deine ADSL Leitung im Weg ... glaube ich zumindest,
5 > > selbst nie benutzt.
6 > DistCC ist IMHO nur dann sinnvoll, wenn alle beteiligten Rechner
7 > ziemlich schnell sind. Und ich meine nicht nur CPU.
8 > Wir hatten mal ein Setup mit einem Dual-P4 (iirc 3 GHz) mit
9 > wasweissichwieviel RAM und mein Laptop mit Centrino-1300 MHz. Also
10 > alles einigermassen neu. Und da ging es verdammt schnell mit DistCC.
11 > Andererseits habe ich auch schon einen alten Rechner mit eingebunden mit
12 > der Auffassung "naja, langsam aber besser als nichts" und das
13 > kompilieren hat doppelt so lange gedauert, weil immer wieder auf den
14 > altn gewartet werden musste. Selbiges übrigens wenn der ältere die
15 > Aufträge startet. Ein K6-350 MHz ist *zu langsam* das von meinem
16 > besagten Laptop kompilierte Material in echtzeit bereitzustellen und
17 > neues zu besorgen. Das merke ich daran, dass mein Laptop nur immer mal
18 > wieder kurz kompiliert und dann nichts mehr zu tun hat. Auch wenn der
19 > host-Rechner garnichts zu kompilieren hat (localhost nicht in den
20 > distcc-hosts drin).
21
22 Äh, das stimmt so nicht ganz.
23
24 Einem langsamen Rechner kann sehr viel geholfen werden, wenn die
25 Kompilierarbeit per distcc ausgelagert wird und der langsame selber nur die
26 Schritte bis zum Präkompiler macht.
27 Und wenn die schnellen Rechner auf den langsamen warten, liegt das nicht an
28 den Geschwindigkeiten der Rechner, zumindest nicht vordergründig, sondern
29 daran, das (fast) alle Projekte automake einsetzen, was beim bauen leider
30 rekursive vorgeht und erst das nächste Unterverzeichnis angeht, wenn das
31 vorherige geschafft ist. Das ist aber eigentlich nicht der Hauptsinn von
32 make. Deswegen gibt es, zumindest unter KDE-Entwicklern, unsermake, was
33 automake ersetzt und eine nicht-rekursive Vorgehensweise hat. Damit kann dann
34 der langsame Job so lange brauchen, wie er will, und erst wenn es ans linken
35 geht wird (im Zweifelsfall) auf ihn gewartet.
36
37 > Ergo: Wenn du distcc mit sehr unterschiedlich schnellen Rechnern nimmst
38 > und dann noch eine nlangsame Leitung hast, kannst du vermutlich grade
39 > lokal auf dem langsamen Rechner kompilieren.
40
41 Das stimmt, zumindest von den Symptomen her, die Grunde sind
42 vielschichtiger...
43
44 Arnold