Compiling (Speeding up)/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(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.")
 
(9 intermediate revisions by 2 users not shown)
Line 15: Line 15:
== CCache ==
== CCache ==


<div class="mw-translate-fuzzy">
=== CCache ===
Installez {{incode|ccache}} pour mettre en cache les builds.
Installez {{incode|ccache}} pour mettre en cache les builds.
</div>


[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.
[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.


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.
== Disable modules ==

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


<div class="mw-translate-fuzzy">
=== 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.
</div>


Par exemple, pour éviter de compiler les ateliers FEM et Mesh :
Par exemple, pour éviter de compiler les ateliers FEM et Mesh :
Line 37: 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>
== Number of jobs in parallel ==

<div class="mw-translate-fuzzy">
== 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.
</div>


Exécutez quatre commandes de compilation en parallèle :
Exécutez quatre commandes de compilation en parallèle :
Line 64: Line 59:
== distcc ==
== distcc ==


<div class="mw-translate-fuzzy">
== distcc ==
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.
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.
</div>


[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.
[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.


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].
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].





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.