Compiling (Speeding up)/de: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
Line 1: Line 1:
<languages/>
<languages/>
<div class="mw-translate-fuzzy">
{{Docnav/de
{{Docnav/de
|[[Compile on MacOS|Compile on MacOS]]
|[[Compile on MacOS|Compile on MacOS]]
|[[Third Party Libraries|Third-party libraries]]
|[[Third Party Libraries|Third-party libraries]]
}}
}}
</div>

{{TOCright}}
<div class="mw-translate-fuzzy">
FreeCAD ist eine große Anwendung, die zwischen 10 Minuten und einer Stunde dauern kann, um vollständig aus dem Quellcode kompiliert zu werden. Dies hängt in erster Linie von der CPU ab, die Du hast, und der Anzahl der Kerne, die für den Kompilierungsprozess verwendet werden. Hier sind einige Tipps, um diesen Prozess zu verkürzen und die Erstellungszeiten zu verkürzen.
FreeCAD ist eine große Anwendung, die zwischen 10 Minuten und einer Stunde dauern kann, um vollständig aus dem Quellcode kompiliert zu werden. Dies hängt in erster Linie von der CPU ab, die Du hast, und der Anzahl der Kerne, die für den Kompilierungsprozess verwendet werden. Hier sind einige Tipps, um diesen Prozess zu verkürzen und die Erstellungszeiten zu verkürzen.
</div>


== CCache ==
== CCache ==
Line 45: Line 49:
Das Programm {{incode|distcc}} kann verwendet werden, um eine verteilte Kompilierung von C- und C++-Code über mehrere Maschinen in einem Netzwerk durchzuführen.
Das Programm {{incode|distcc}} kann verwendet werden, um eine verteilte Kompilierung von C- und C++-Code über mehrere Maschinen in einem Netzwerk durchzuführen.


<div class="mw-translate-fuzzy">
{{Docnav/de
{{Docnav/de
|[[Compile on MacOS|Compile on MacOS]]
|[[Compile on MacOS|Compile on MacOS]]
|[[Third Party Libraries|Third-party libraries]]
|[[Third Party Libraries|Third-party libraries]]
}}
}}
</div>


{{Userdocnavi/de}}
{{Userdocnavi/de}}

Revision as of 21:17, 10 February 2020

FreeCAD ist eine große Anwendung, die zwischen 10 Minuten und einer Stunde dauern kann, um vollständig aus dem Quellcode kompiliert zu werden. Dies hängt in erster Linie von der CPU ab, die Du hast, und der Anzahl der Kerne, die für den Kompilierungsprozess verwendet werden. Hier sind einige Tipps, um diesen Prozess zu verkürzen und die Erstellungszeiten zu verkürzen.

CCache

Installiere ccache um die Erstellung zwischenzuspeichern.

Module deaktivieren

Wenn Du cmake zur Konfiguration des Build verwendest, kannst Du die Kompilierung bestimmter Arbeitsbereiche deaktivieren, die Du im Moment vielleicht nicht brauchst. Dies ist nützlich, wenn du nur ein paar Arbeitsbereiche testen musst.

Zum Beispiel, um den Aufbau der FEM- und Mesh-Arbeitsplätze zu vermeiden:

cmake -DBUILD_FEM=OFF -DBUILD_MESH=OFF ../freecad-source

Verwende cmake-gui, cmake-curses-gui, oder cmake-qt-gui, um alle möglichen Variablen anzuzeigen, die in der Konfiguration bearbeitet werden können; über diese Schnittstellen kannst du verschiedene Arbeitsbereiche leicht ein- oder ausschalten.

Anzahl der parallelen Aufträge

Nach der Konfiguration mit cmake startet das Programm make den eigentlichen C++-Compiler, um an den Quelltextdateien zu arbeiten. Du kannst die Kompilierung beschleunigen, indem du an verschiedenen Dateien gleichzeitig arbeitest. Dies wird mit der Option -j von make erreicht, die die Anzahl der gleichzeitig ausgeführten "Jobs" oder Kompilierungsbefehle angibt. Diese Option ist eine Ganzzahl.

Führe vier Kompilierungsbefehle parallel aus:

make -j4

Kompiliere so viele Dateien parallel wie die Anzahl der CPU-Kerne in Deinem System. Dies ist nützlich, wenn Du viele Kerne hast und diese alle zum Kompilieren der Software verwenden möchtest.

make -j$(nproc)

Kompiliere so viele Dateien parallel wie die Anzahl der CPU-Kerne in Deinem System, minus zwei. Verwende dies, damit Dein System immer noch auf eine andere Aufgabe reagiert, z.B. zwei Kerne, die es Dir ermöglichen, einen Browser zu verwenden, während der Rest der Kerne die Software im Hintergrund kompiliert.

make -j$(nproc --ignore=2)

distcc

Das Programm distcc kann verwendet werden, um eine verteilte Kompilierung von C- und C++-Code über mehrere Maschinen in einem Netzwerk durchzuführen.