Compiling (Speeding up)/de: Difference between revisions

From FreeCAD Documentation
(Created page with "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 vo...")
(Created page with "==distcc==")
 
(40 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav/de
{{Docnav/de
|[[FreeCAD_Docker_CLI_mode/de|FreeCAD Docker CLI Modus]]
|[[Compile on MacOS|Compile on MacOS]]
|[[Third_Party_Libraries/de|Drittanbieter Bibliotheken]]
|[[Third Party Libraries|Third-party libraries]]
}}
}}


{{TOCright}}
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.


<span id="Overview"></span>
== CCache ==
==Übersicht==
Install {{incode|ccache}} to cache builds.


FreeCAD ist eine große Anwendung, deren vollständige Kompilierung aus dem Quellcode zwischen 10 Minuten und einer Stunde dauern kann. Dies hängt in erster Linie von der CPU ab, die du hast, und von der Anzahl der Kerne, die im Kompilierungsprozess verwendet werden. Hier sind einige Tipps, um diesen Prozess zu verkürzen und die Erstellungszeiten zu verkürzen.
== Disable modules ==
When using {{incode|cmake}} to configure the build, you can disable the compilation of certain workbenches that you may not need at the moment. This is useful if you only need to test a few workbenches.


<span id="CCache"></span>
For example, to avoid building the FEM and Mesh workbenches:
==CCache==

Installiere {{incode|ccache}} zur Bau Zwischenspeicherung.

[https://ccache.dev/ Ccache] speeds up recompilation by caching previous compilations and detecting when the same compilation is done again. Ccache is free software, released under GPLv3 or later.

On most systems ccache will be automatically detected and enabled, you can use the {{incode|FREECAD_USE_CCACHE}} {{incode|cmake}} option to control this behavior.

<span id="Disable_modules"></span>
==Module deaktivieren==

Wenn {{incode|cmake}} zur Konfiguration der Bauten verwendet werden, kannst du die Kompilierung bestimmter Arbeitsbereiche deaktivieren, die du im Moment möglicherweise nicht benötigst. Dies ist nützlich, wenn du nur einige wenige Arbeitsbereiche testen musst.

Zum Beispiel, um den Bau der FEM- und Polygonnetz Arbeitsbereiche zu vermeiden:


{{Code|code=
{{Code|code=
Line 19: Line 33:
}}
}}


Use {{incode|cmake-gui}}, {{incode|cmake-curses-gui}}, or {{incode|cmake-qt-gui}} to display all the possible variables that can be edited in the configuration; using these interfaces you can easily switch on or off different workbenches.
Verwende {{incode|cmake-gui}}, {{incode|cmake-curses-gui}}, oder {{incode|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.


<span id="Number_of_jobs_in_parallel"></span>
== Number of jobs in parallel ==
==Anzahl der parallelen Aufträge==
After configuring with {{incode|cmake}}, the {{incode|make}} program launches the actual C++ compiler to work on the source code files. You can speed up compilation by working on various files at the same time. This is achieved with the {{incode|-j}} option of {{incode|make}}, which denotes the number of "jobs" or compilation commands that are run simultaneously. This option is an integer number.


Nach der Konfiguration mit {{incode|cmake}} startet das Programm {{incode|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 {{incode|-j}} von {{incode|make}} erreicht, die die Anzahl der gleichzeitig ausgeführten "Jobs" oder Kompilierungsbefehle angibt. Diese Option ist eine Ganzzahl.
Run four compilation commands in parallel:

Führe vier Kompilierungsbefehle parallel aus:


{{Code|code=
{{Code|code=
Line 30: Line 46:
}}
}}


Compile as many files in parallel as the number of CPU cores in your system. This is useful if you have many cores and want to use them all to compile the software.
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.


{{code|code=
{{code|code=
Line 36: Line 52:
}}
}}


Compile as many files in parallel as the number of CPU cores in your system, minus two. Use this so that your system is still responsive to do some other task; for example, two cores will allow you to use a browser, while the rest of the cores keep compiling the software on the background.
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.


{{code|code=
{{code|code=
Line 42: Line 58:
}}
}}


== distcc ==
<span id="distcc"></span>
==distcc==
The {{incode|distcc}} program can be used to perform distributed compilation of C and C++ code across several machines in a network.


Das Programm {{incode|distcc}} kann verwendet werden, um eine verteilte Kompilierung von C- und C++-Code über mehrere Maschinen in einem Netzwerk durchzuführen.
{{Docnav
|[[Compile on MacOS|Compile on MacOS]]
|[[Third Party Libraries|Third-party libraries]]
}}


[https://www.distcc.org/ Distcc] should always generate the same results as a local compilation. It is free, simple to install and use, and often two or more times faster than compiling locally.
{{Userdocnavi}}


FreeCAD dev 'etrombly' has published a short explanation on [https://forum.freecadweb.org/viewtopic.php?f=4&t=50810&p=459142#p458614 how to install distcc to compile FreeCAD on a network of computers using Docker].
[[Category: Developer Documentation]]


{{Docnav/de
|[[FreeCAD_Docker_CLI_mode/de|FreeCAD Docker CLI Modus]]
|[[Third_Party_Libraries/de|Drittanbieter Bibliotheken]]
}}


{{Userdocnavi{{#translation:}}}}
{{clear}}
[[Category:Developer_Documentation{{#translation:}}]]
[[Category:Developer{{#translation:}}]]

Latest revision as of 06:38, 25 January 2024

Übersicht

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

CCache

Installiere ccache zur Bau Zwischenspeicherung.

Ccache speeds up recompilation by caching previous compilations and detecting when the same compilation is done again. Ccache is free software, released under GPLv3 or later.

On most systems ccache will be automatically detected and enabled, you can use the FREECAD_USE_CCACHE cmake option to control this behavior.

Module deaktivieren

Wenn cmake zur Konfiguration der Bauten verwendet werden, kannst du die Kompilierung bestimmter Arbeitsbereiche deaktivieren, die du im Moment möglicherweise nicht benötigst. Dies ist nützlich, wenn du nur einige wenige Arbeitsbereiche testen musst.

Zum Beispiel, um den Bau der FEM- und Polygonnetz Arbeitsbereiche 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.

Distcc should always generate the same results as a local compilation. It is free, simple to install and use, and often two or more times faster than compiling locally.

FreeCAD dev 'etrombly' has published a short explanation on how to install distcc to compile FreeCAD on a network of computers using Docker.