Compiling (Speeding up)/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
(Created page with "Sur la plupart des systèmes, ccache sera automatiquement détecté et activé, vous pouvez utiliser l'option {{incode|FREECAD_USE_CCACHE}} {{incode|cmake}} pour contrôler ce comportement.")
 
(41 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav/fr|[[CompileOnMac/fr|Compiler sur Mac]]|[[Third Party Libraries/fr|Librairies tierces]]}}
{{Docnav/fr
|[[FreeCAD_Docker_CLI_mode/fr|FreeCAD Docker mode CLI]]
|[[Third_Party_Libraries/fr|Librairies tierces]]
}}

{{TOCright}}

<span id="Overview"></span>
== Présentation ==


FreeCAD est une application relativement lourde dont la compilation complète à partir des sources peut prendre entre 10 minutes et une heure. Cela dépend principalement du processeur dont vous disposez et du nombre de cœurs utilisés dans le processus de compilation. Voici quelques conseils pour raccourcir ce processus et raccourcir les temps de construction.
FreeCAD est une application relativement lourde dont la compilation complète à partir des sources peut prendre entre 10 minutes et une heure. Cela dépend principalement du processeur dont vous disposez et du nombre de cœurs utilisés dans le processus de compilation. Voici quelques conseils pour raccourcir ce processus et raccourcir les temps de construction.


=== CCache ===
== CCache ==

Installez {{incode|ccache}} pour mettre en cache les builds.
Installez {{incode|ccache}} pour mettre en cache les builds.


[https://ccache.dev/ Ccache] accélère la recompilation en mettant en cache les compilations précédentes et en détectant quand la même compilation est effectuée à nouveau. Ccache est un logiciel libre, publié sous licence GPLv3 ou ultérieure.
=== Désactiver des modules ===

Sur la plupart des systèmes, ccache sera automatiquement détecté et activé, vous pouvez utiliser l'option {{incode|FREECAD_USE_CCACHE}} {{incode|cmake}} pour contrôler ce comportement.

<span id="Disable_modules"></span>
== Désactiver des modules ==

Lorsque vous utilisez {{incode|cmake}} pour configurer le build, vous pouvez désactiver la compilation de certains ateliers dont vous n'avez peut-être pas besoin pour le moment. Ceci est utile si vous n'avez besoin que de tester quelques ateliers.
Lorsque vous utilisez {{incode|cmake}} pour configurer le build, vous pouvez désactiver la compilation de certains ateliers dont vous n'avez peut-être pas besoin pour le moment. Ceci est utile si vous n'avez besoin que de tester quelques ateliers.


Par exemple, pour éviter de compiler les ateliers FEM et Mesh:
Par exemple, pour éviter de compiler les ateliers FEM et Mesh :

{{Code|code=
{{Code|code=
cmake -DBUILD_FEM=OFF -DBUILD_MESH=OFF ../freecad-source
cmake -DBUILD_FEM=OFF -DBUILD_MESH=OFF ../freecad-source
Line 17: Line 34:
Utilisez {{incode|cmake-gui}}, {{incode|cmake-curses-gui}} ou {{incode|cmake-qt-gui}} pour afficher toutes les variables possibles pouvant être éditées lors de la configuration. En utilisant ces interfaces, vous pouvez facilement activer ou désactiver différents ateliers.
Utilisez {{incode|cmake-gui}}, {{incode|cmake-curses-gui}} ou {{incode|cmake-qt-gui}} pour afficher toutes les variables possibles pouvant être éditées lors de la configuration. En utilisant ces interfaces, vous pouvez facilement activer ou désactiver différents ateliers.


<span id="Number_of_jobs_in_parallel"></span>
== Plusieurs actions en parallèle ==
== Plusieurs actions en parallèle ==

Après avoir configuré avec {{incode|cmake}}, le programme {{incode|make}} lance le compilateur C ++ à proprement dit pour qu'il fonctionne sur les fichiers de code source. Vous pouvez accélérer la compilation en travaillant sur plusieurs fichiers en même temps. Ceci est réalisé avec l'option {{incode|-j}} de {{incode|make}} qui indique le nombre de "travaux" ou de commandes de compilation exécutés simultanément. Cette option est un nombre entier.
Après avoir configuré avec {{incode|cmake}}, le programme {{incode|make}} lance le compilateur C ++ à proprement dit pour qu'il fonctionne sur les fichiers de code source. Vous pouvez accélérer la compilation en travaillant sur plusieurs fichiers en même temps. Ceci est réalisé avec l'option {{incode|-j}} de {{incode|make}} qui indique le nombre de "travaux" ou de commandes de compilation exécutés simultanément. Cette option est un nombre entier.


Run four compilation commands in parallel:
Exécutez quatre commandes de compilation en parallèle :


{{Code|code=
{{Code|code=
Line 26: Line 45:
}}
}}


Compilez autant de fichiers en parallèle que le nombre de cœurs de processeur de votre système. Ceci est utile si vous avez plusieurs cœurs et souhaitez tous les utiliser pour compiler le logiciel.
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.

{{code|code=
{{code|code=
make -j$(nproc)
make -j$(nproc)
}}
}}


Compilez autant de fichiers en parallèle que le nombre de cœurs de processeur de votre système, moins deux. Utilisez cette option pour que votre système réponde toujours à une autre tâche. Par exemple, deux cœurs vous permettront d'utiliser un navigateur, tandis que les autres cœurs continueront à compiler le logiciel en arrière-plan.
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.

{{code|code=
{{code|code=
make -j$(nproc --ignore=2)
make -j$(nproc --ignore=2)
}}
}}


== distcc ==
<div class="mw-translate-fuzzy">
=== distcc ===
Distcc peut être utilisé pour la compilation distribuée sur un réseau.
</div>


Le programme {{incode|distcc}} peut être utilisé pour effectuer une compilation distribuée de codes C et C ++ sur plusieurs machines d'un réseau.
{{Docnav/fr|[[CompileOnMac/fr|Compiler avec Mac]]|[[Third Party Libraries/fr|Librairies tierces]]}}


[https://www.distcc.org/ Distcc] devrait toujours produire les mêmes résultats qu'une compilation locale. Il est gratuit, simple à installer et à utiliser, et souvent deux fois ou plus rapide que la compilation locale.
{{Userdocnavi/fr}}


Le développeur FreeCAD "etrombly" a publié une courte explication sur [https://forum.freecadweb.org/viewtopic.php?f=4&t=50810&p=459142#p458614 comment installer distcc pour compiler FreeCAD sur un réseau d'ordinateurs en utilisant Docker].
[[Category: Developer Documentation/fr]]


{{Docnav/fr
|[[FreeCAD_Docker_CLI_mode/fr|FreeCAD Docker mode CLI]]
|[[Third_Party_Libraries/fr|Librairies tierces]]
}}


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

Latest revision as of 17:22, 23 July 2023

Présentation

FreeCAD est une application relativement lourde dont la compilation complète à partir des sources peut prendre entre 10 minutes et une heure. Cela dépend principalement du processeur dont vous disposez et du nombre de cœurs utilisés dans le processus de compilation. Voici quelques conseils pour raccourcir ce processus et raccourcir les temps de construction.

CCache

Installez ccache pour mettre en cache les builds.

Ccache accélère la recompilation en mettant en cache les compilations précédentes et en détectant quand la même compilation est effectuée à nouveau. Ccache est un logiciel libre, publié sous licence GPLv3 ou ultérieure.

Sur la plupart des systèmes, ccache sera automatiquement détecté et activé, vous pouvez utiliser l'option FREECAD_USE_CCACHE cmake pour contrôler ce comportement.

Désactiver des modules

Lorsque vous utilisez cmake pour configurer le build, vous pouvez désactiver la compilation de certains ateliers dont vous n'avez peut-être pas besoin pour le moment. Ceci est utile si vous n'avez besoin que de tester quelques ateliers.

Par exemple, pour éviter de compiler les ateliers FEM et Mesh :

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

Utilisez cmake-gui, cmake-curses-gui ou cmake-qt-gui pour afficher toutes les variables possibles pouvant être éditées lors de la configuration. En utilisant ces interfaces, vous pouvez facilement activer ou désactiver différents ateliers.

Plusieurs actions en parallèle

Après avoir configuré avec cmake, le programme make lance le compilateur C ++ à proprement dit pour qu'il fonctionne sur les fichiers de code source. Vous pouvez accélérer la compilation en travaillant sur plusieurs fichiers en même temps. Ceci est réalisé avec l'option -j de make qui indique le nombre de "travaux" ou de commandes de compilation exécutés simultanément. Cette option est un nombre entier.

Exécutez quatre commandes de compilation en parallèle :

make -j4

Compilez autant de fichiers en parallèle que le nombre de cœurs de processeur de votre système. Ceci est utile si vous avez plusieurs cœurs et souhaitez tous les utiliser pour compiler le logiciel.

make -j$(nproc)

Compilez autant de fichiers en parallèle que le nombre de cœurs de processeur de votre système, moins deux. Utilisez cette option pour que votre système réponde toujours à une autre tâche. Par exemple, deux cœurs vous permettront d'utiliser un navigateur, tandis que les autres cœurs continueront à compiler le logiciel en arrière-plan.

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

distcc

Le programme distcc peut être utilisé pour effectuer une compilation distribuée de codes C et C ++ sur plusieurs machines d'un réseau.

Distcc devrait toujours produire les mêmes résultats qu'une compilation locale. Il est gratuit, simple à installer et à utiliser, et souvent deux fois ou plus rapide que la compilation locale.

Le développeur FreeCAD "etrombly" a publié une courte explication sur comment installer distcc pour compiler FreeCAD sur un réseau d'ordinateurs en utilisant Docker.