Compiling (Speeding up)/it: Difference between revisions
Renatorivo (talk | contribs) No edit summary |
Renatorivo (talk | contribs) No edit summary |
||
(15 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
{{docnav/it |
|||
⚫ | |||
|[[Compile on MacOS/it|Compilare in MacOS]] |
|||
⚫ | |||
}} |
|||
FreeCAD è una grande applicazione che può richiedere da 10 minuti a un'ora per essere compilata completamente dal sorgente. Ciò dipende principalmente dalla CPU in uso e dal numero di core utilizzati nel processo di compilazione. Ecco alcuni suggerimenti per abbreviare tale processo e ridurre i tempi di costruzione. |
|||
<div class="mw-translate-fuzzy"> |
|||
Quando si sviluppa FreeCAD si ha la necessità di costruire dai sorgenti e la fase di compilazione o costruzione può assorbire del tempo che è invece prezioso per lo sviluppo. Ecco alcuni suggerimenti per abbreviare questo processo e rendere più efficiente il tempo di costruzione. |
|||
</div> |
|||
<div class="mw-translate-fuzzy"> |
|||
=== CCache === |
=== CCache === |
||
Installare ccache per la costruzione cache |
Installare {{incode|ccache}} per la costruzione cache |
||
</div> |
|||
⚫ | |||
<div class="mw-translate-fuzzy"> |
|||
Quando si utilizza {{incode|cmake}} per configurare la build, è possibile disabilitare la compilazione di alcuni ambienti che al momento potrebbero non essere necessari. Questo è utile se si vuole solo testare alcuni ambienti di lavoro. |
|||
⚫ | |||
Usare cmake-curses-gui, cmake-qt-gui, o i flag di cmake per disabilitare i moduli su cui non si sta lavorando |
|||
Ad esempio, per evitare di costruire i banchi di lavoro FEM e Mesh: |
|||
</div> |
|||
For example, to avoid building the FEM and Mesh workbenches: |
|||
{{Code|code= |
{{Code|code= |
||
cmake -DBUILD_FEM=OFF -DBUILD_MESH=OFF ../freecad-source |
cmake -DBUILD_FEM=OFF -DBUILD_MESH=OFF ../freecad-source |
||
}} |
}} |
||
Utilizzare {{incode|cmake-gui}}, {{incode|cmake-curses-gui}} o {{incode|cmake-qt-gui}} per visualizzare tutte le possibili variabili che possono essere modificate nella configurazione; utilizzando queste interfacce è possibile attivare o disattivare facilmente diversi banchi di lavoro. |
|||
===Numero di lavori in parallelo=== |
|||
<div class="mw-translate-fuzzy"> |
|||
Dopo la configurazione fatta con {{incode|cmake}}, il programma {{incode|make}} avvia il compilatore C++ effettivo per lavorare sui file del codice sorgente. Si può velocizzare la compilazione lavorando su vari file contemporaneamente. Ciò si ottiene con l'opzione {{incode|-j}} di {{incode|make}}, che indica il numero di "lavori" o comandi di compilazione eseguiti contemporaneamente. Questa opzione è un numero intero. |
|||
=== make -j === |
|||
Usare make -j # per specificare il numero di processi (thread) di compilazione simultanea. Il valore suggerito è quello corrispondente al numero di processori del proprio computer, ad es. |
|||
<pre>make -j $(nproc)</pre> |
|||
</div> |
|||
Esegui quattro comandi di compilazione in parallelo: |
|||
Run four compilation commands in parallel: |
|||
{{Code|code= |
{{Code|code= |
||
Line 35: | Line 30: | ||
}} |
}} |
||
Compilare contemporaneamente più file quanti sono i core della CPU nel sistema. Questo è utile se hai molti core e vuoi usarli tutti per compilare il software. |
|||
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) |
||
}} |
}} |
||
Compilare contemporaneamente più file quanti sono i core della CPU nel sistema, meno due. Usa questo in modo che il tuo sistema sia ancora pronto a svolgere qualche altra attività; ad esempio, due core ti permetteranno di usare un browser, mentre il resto dei core continuerà a compilare il software in background. |
|||
{{code|code= |
{{code|code= |
||
make -j$(nproc --ignore=2) |
make -j$(nproc --ignore=2) |
||
}} |
}} |
||
<div class="mw-translate-fuzzy"> |
|||
=== distcc === |
=== distcc === |
||
Il programma {{incode|distcc}} può essere utilizzato per eseguire compilazioni distribuite di codice C e C++ su più macchine in una rete. |
|||
</div> |
|||
{{docnav/it |
|||
<div class="mw-translate-fuzzy"> |
|||
|[[Compile on MacOS/it|Compilare in MacOS]] |
|||
|[[Third Party Libraries/it|Librerie di terze parti]] |
|||
</div> |
|||
}} |
|||
{{Userdocnavi/it}} |
{{Userdocnavi/it}} |
Revision as of 17:16, 19 November 2019
FreeCAD è una grande applicazione che può richiedere da 10 minuti a un'ora per essere compilata completamente dal sorgente. Ciò dipende principalmente dalla CPU in uso e dal numero di core utilizzati nel processo di compilazione. Ecco alcuni suggerimenti per abbreviare tale processo e ridurre i tempi di costruzione.
CCache
Installare ccache
per la costruzione cache
Disabilitare i moduli
Quando si utilizza cmake
per configurare la build, è possibile disabilitare la compilazione di alcuni ambienti che al momento potrebbero non essere necessari. Questo è utile se si vuole solo testare alcuni ambienti di lavoro.
Ad esempio, per evitare di costruire i banchi di lavoro FEM e Mesh:
cmake -DBUILD_FEM=OFF -DBUILD_MESH=OFF ../freecad-source
Utilizzare cmake-gui
, cmake-curses-gui
o cmake-qt-gui
per visualizzare tutte le possibili variabili che possono essere modificate nella configurazione; utilizzando queste interfacce è possibile attivare o disattivare facilmente diversi banchi di lavoro.
Numero di lavori in parallelo
Dopo la configurazione fatta con cmake
, il programma make
avvia il compilatore C++ effettivo per lavorare sui file del codice sorgente. Si può velocizzare la compilazione lavorando su vari file contemporaneamente. Ciò si ottiene con l'opzione -j
di make
, che indica il numero di "lavori" o comandi di compilazione eseguiti contemporaneamente. Questa opzione è un numero intero.
Esegui quattro comandi di compilazione in parallelo:
make -j4
Compilare contemporaneamente più file quanti sono i core della CPU nel sistema. Questo è utile se hai molti core e vuoi usarli tutti per compilare il software.
make -j$(nproc)
Compilare contemporaneamente più file quanti sono i core della CPU nel sistema, meno due. Usa questo in modo che il tuo sistema sia ancora pronto a svolgere qualche altra attività; ad esempio, due core ti permetteranno di usare un browser, mentre il resto dei core continuerà a compilare il software in background.
make -j$(nproc --ignore=2)
distcc
Il programma distcc
può essere utilizzato per eseguire compilazioni distribuite di codice C e C++ su più macchine in una rete.
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web
- Hubs: User hub, Power users hub, Developer hub