Compiling (Speeding up)/de: Difference between revisions
No edit summary |
(Created page with "==distcc==") |
||
(9 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
{{TOCright}} |
{{TOCright}} |
||
<span id="Overview"></span> |
|||
==Übersicht== |
==Ü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. |
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. |
||
= |
<span id="CCache"></span> |
||
==CCache== |
|||
Installiere {{incode|ccache}} zur Bau Zwischenspeicherung. |
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> |
|||
⚫ | |||
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. |
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. |
||
Line 26: | Line 35: | ||
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. |
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> |
|||
== |
==Anzahl der parallelen Aufträge== |
||
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. |
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. |
||
Line 47: | Line 58: | ||
}} |
}} |
||
= |
<span id="distcc"></span> |
||
==distcc== |
|||
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. |
||
[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. |
|||
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]. |
|||
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.
- Erste Schritte
- Installation: Herunterladen, Windows, Linux, Mac, Zusätzlicher Komponenten, Docker, AppImage, Ubuntu Snap
- Grundlagen: Über FreeCAD, Graphische Oberfläche, Mausbedienung, Auswahlmethoden, Objektname, Programmeinstellungen, Arbeitsbereiche, Dokumentstruktur, Objekteigenschaften, Hilf FreeCAD, Spende
- Hilfe: Tutorien, Video Tutorien
- Arbeitsbereiche: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework