Compiling (Speeding up)/it: Difference between revisions

From FreeCAD Documentation
(Created page with "{{Userdocnavi/it}}")
No edit summary
 
(44 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{docnav/it|[[CompileOnMac/it|Compilare in Mac]]|[[Third Party Libraries/it|Librerie di terze parti]]}}


{{Docnav/it
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.
|[[FreeCAD_Docker_CLI_mode/it|Modalità CLI di FreeCAD Docker]]
|[[Third_Party_Libraries/it|Librerie di terze parti]]
}}


{{TOCright}}
=== CCache ===
Installare ccache per la costruzione cache


<span id="Overview"></span>
=== Disabilitare i Moduli ===
==Presentazione==
Usare cmake-curses-gui, cmake-qt-gui, o i flag di cmake per disabilitare i moduli su cui non si sta lavorando


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


=== distcc ===
== CCache ==
Distcc può essere utilizzato per la compilazione distribuita su una rete.


Installare {{incode|ccache}} per la costruzione cache
{{docnav/it|[[CompileOnMac/it|Compilare in Mac]]|[[Third Party Libraries/it|Librerie di terze parti]]}}


[https://ccache.dev/ Ccache] accelera la ricompilazione memorizzando nella cache le compilazioni precedenti e rilevando quando la stessa compilazione viene eseguita di nuovo. Ccache è un software gratuito, rilasciato sotto GPLv3 o successivo.
{{Userdocnavi/it}}


Sulla maggior parte dei sistemi ccache verrà rilevato e abilitato automaticamente, puoi utilizzare l'opzione {{incode|FREECAD_USE_CCACHE}} {{incode|cmake}} per controllare questo comportamento.
[[Category: Developer Documentation/it]]


<span id="Disable_modules"></span>
{{clear}}
=== 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.

Ad esempio, per evitare di costruire i banchi di lavoro FEM e Mesh:

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

<span id="Number_of_jobs_in_parallel"></span>
== Numero di lavori in parallelo ==

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:

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

[https://www.distcc.org/ Distcc] dovrebbe sempre generare gli stessi risultati di una compilazione locale. È gratuito, semplice da installare ed utilizzare e solitamente due o più volte più veloce rispetto alla compilazione locale.

Lo sviluppatore di FreeCAD 'etrombly' ha pubblicato una breve spiegazione su [https://forum.freecadweb.org/viewtopic.php?f=4&t=50810&p=459142#p458614 come installare distcc per compilare FreeCAD su una rete di computer utilizzando Docker].


{{Docnav/it
|[[FreeCAD_Docker_CLI_mode/it|Modalità CLI di FreeCAD Docker]]
|[[Third_Party_Libraries/it|Librerie di terze parti]]
}}

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

Latest revision as of 07:01, 10 August 2023

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

Ccache accelera la ricompilazione memorizzando nella cache le compilazioni precedenti e rilevando quando la stessa compilazione viene eseguita di nuovo. Ccache è un software gratuito, rilasciato sotto GPLv3 o successivo.

Sulla maggior parte dei sistemi ccache verrà rilevato e abilitato automaticamente, puoi utilizzare l'opzione FREECAD_USE_CCACHE cmake per controllare questo comportamento.

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.

Distcc dovrebbe sempre generare gli stessi risultati di una compilazione locale. È gratuito, semplice da installare ed utilizzare e solitamente due o più volte più veloce rispetto alla compilazione locale.

Lo sviluppatore di FreeCAD 'etrombly' ha pubblicato una breve spiegazione su come installare distcc per compilare FreeCAD su una rete di computer utilizzando Docker.