Compiling (Speeding up)/it: Difference between revisions
Renatorivo (talk | contribs) (Created page with "Category: Developer Documentation/it") |
Renatorivo (talk | contribs) No edit summary |
||
(33 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
⚫ | |||
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 |
=== 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: |
|||
⚫ | |||
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. |
|||
⚫ | |||
{{Code|code= |
|||
{{Docnav|Compiling on Mac|Third Party Libraries}} |
|||
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=== |
|||
{{clear}} |
|||
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= |
|||
⚫ | |||
}} |
|||
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) |
|||
}} |
|||
⚫ | |||
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:}}]] |
|||
⚫ |
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.
- 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