Compiling (Speeding up)/it: Difference between revisions

From FreeCAD Documentation
(Created page with "=== distcc === Distcc può essere utilizzato per la compilazione distribuita su una rete.")
No edit summary
(31 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
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.
{{Docnav/it
|[[FreeCAD Docker CLI mode/it|FreeCAD Docker CLI mode]]
|[[Third Party Libraries/it|Librerie di terze parti]]
}}
{{TOCright}}
==Presentazione==

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 ===
=== CCache ===
Installare ccache per la costruzione cache
Installare {{incode|ccache}} per la costruzione cache


=== Disabilitare i Moduli ===
=== Disabilitare i moduli ===
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:
=== 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>


{{Code|code=
=== distcc ===
cmake -DBUILD_FEM=OFF -DBUILD_MESH=OFF ../freecad-source
Distcc può essere utilizzato per la compilazione distribuita su una rete.
}}


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.
{{Docnav|CompileOnMac|Third Party Libraries}}


===Numero di lavori in parallelo===
[[Category: Developer Documentation/it]]
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.


Esegui quattro comandi di compilazione in parallelo:
{{clear}}

<languages/>
{{Code|code=
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.

{{code|code=
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=
make -j$(nproc --ignore=2)
}}

=== distcc ===
Il programma {{incode|distcc}} può essere utilizzato per eseguire compilazioni distribuite di codice C e C++ su più macchine in una rete.

{{Docnav/it
|[[FreeCAD Docker CLI mode/it|FreeCAD Docker CLI mode]]
|[[Third Party Libraries/it|Librerie di terze parti]]
}}

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

Revision as of 20:30, 4 September 2020

Presentazione

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.