Compiling (Speeding up)/pl: Difference between revisions
(Created page with "[https://ccache.dev/ Ccache] przyspiesza rekompilację poprzez buforowanie poprzednich kompilacji i wykrywanie, kiedy ta sama kompilacja jest wykonywana ponownie. Ccache jest wolnym oprogramowaniem, wydanym na licencji GPLv3 lub nowszej.") |
(Created page with "W większości systemów ccache zostanie automatycznie wykryty i włączony, można użyć opcji {{incode|FREECAD_USE_CCACHE}} {{incode|cmake}} by kontrolować to zachowanie.") |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 20: | Line 20: | ||
[https://ccache.dev/ Ccache] przyspiesza rekompilację poprzez buforowanie poprzednich kompilacji i wykrywanie, kiedy ta sama kompilacja jest wykonywana ponownie. Ccache jest wolnym oprogramowaniem, wydanym na licencji GPLv3 lub nowszej. |
[https://ccache.dev/ Ccache] przyspiesza rekompilację poprzez buforowanie poprzednich kompilacji i wykrywanie, kiedy ta sama kompilacja jest wykonywana ponownie. Ccache jest wolnym oprogramowaniem, wydanym na licencji GPLv3 lub nowszej. |
||
W większości systemów ccache zostanie automatycznie wykryty i włączony, można użyć opcji {{incode|FREECAD_USE_CCACHE}} {{incode|cmake}} by kontrolować to zachowanie. |
|||
== Disable modules == |
|||
<span id="Disable_modules"></span> |
|||
When using {{incode|cmake}} to configure the build, you can disable the compilation of certain workbenches that you may not need at the moment. This is useful if you only need to test a few workbenches. |
|||
==Wyłączanie modułów== |
|||
Używając {{incode|cmake}} do konfiguracji kompilacji, można wyłączyć kompilację niektórych środowisk roboczych, które mogą nie być potrzebne w danej chwili. Jest to przydatne, jeśli chcesz przetestować tylko kilka środowisk roboczych. |
|||
For example, to avoid building the FEM and Mesh workbenches: |
|||
Na przykład, aby uniknąć budowy środowisk pracy MES i Siatka: |
|||
{{Code|code= |
{{Code|code= |
||
Line 30: | Line 33: | ||
}} |
}} |
||
Użyj {{incode|cmake-gui}}, {{incode|cmake-curses-gui}} lub {{incode|cmake-qt-gui}}, aby wyświetlić wszystkie możliwe zmienne, które można edytować w konfiguracji. Za pomocą tych interfejsów można łatwo włączać i wyłączać różne środowiska pracy. |
|||
<span id="Number_of_jobs_in_parallel"></span> |
|||
== Number of jobs in parallel == |
|||
==Liczba zadań wykonywanych równolegle== |
|||
Po skonfigurowaniu za pomocą {{incode|cmake}}, program {{incode|make}} uruchamia rzeczywisty kompilator C++ do pracy nad plikami kodu źródłowego. Kompilację można przyspieszyć, pracując nad różnymi plikami w tym samym czasie. Można to osiągnąć za pomocą opcji {{incode|-j}} programu {{incode|make}}, która określa liczbę "zadań" lub poleceń kompilacji uruchamianych jednocześnie. Opcja ta jest liczbą całkowitą. |
|||
Uruchomienie równolegle czterech poleceń kompilacji: |
|||
Run four compilation commands in parallel: |
|||
{{Code|code= |
{{Code|code= |
||
Line 42: | Line 46: | ||
}} |
}} |
||
Kompiluje równolegle tyle plików, ile rdzeni procesora w systemie. Jest to przydatne, jeśli masz wiele rdzeni i chcesz użyć ich wszystkich do kompilacji oprogramowania. |
|||
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= |
||
Line 48: | Line 52: | ||
}} |
}} |
||
Kompilowanie tylu plików równolegle, ile rdzeni procesora w systemie, minus dwa. Użyj tego, aby system nadal reagował na wykonywanie innych zadań. Na przykład dwa rdzenie pozwolą ci korzystać z przeglądarki, podczas gdy pozostałe rdzenie będą kompilować oprogramowanie w tle. |
|||
Compile as many files in parallel as the number of CPU cores in your system, minus two. Use this so that your system is still responsive to do some other task; for example, two cores will allow you to use a browser, while the rest of the cores keep compiling the software on the background. |
|||
{{code|code= |
{{code|code= |
||
Line 54: | Line 58: | ||
}} |
}} |
||
= |
<span id="distcc"></span> |
||
==distcc== |
|||
Program {{incode|distcc}} może być używany do wykonywania rozproszonej kompilacji kodu C i C++ na kilku maszynach w sieci. |
|||
[https://www.distcc.org/ Distcc] |
[https://www.distcc.org/ Distcc] powinien zawsze generować takie same wyniki jak lokalna kompilacja. Jest darmowy, prosty w instalacji i użyciu, a często dwa lub więcej razy szybszy niż lokalna kompilacja. |
||
Deweloper FreeCAD "etrombly" opublikował krótkie wyjaśnienie na stronie [https://forum.freecadweb.org/viewtopic.php?f=4&t=50810&p=459142#p458614, jak zainstalować distcc, aby skompilować FreeCAD w sieci komputerów przy użyciu Dockera]. |
|||
{{Docnav |
{{Docnav/pl |
||
|[[FreeCAD_Docker_CLI_mode|FreeCAD |
|[[FreeCAD_Docker_CLI_mode/pl|Docker dla FreeCAD tryb CLI]] |
||
|[[Third_Party_Libraries| |
|[[Third_Party_Libraries/pl|Biblioteki zewnętrzne]] |
||
}} |
}} |
||
Latest revision as of 15:45, 23 July 2023
Informacje ogólne
FreeCAD jest dużą aplikacją, której całkowita kompilacja ze źródła może zająć od 10 minut do godziny. Zależy to głównie od wydajności Twojego procesora i liczby rdzeni, które są wykorzystywane w procesie kompilacji. Oto kilka wskazówek, jak przyspieszyć ten proces i skrócić czas kompilacji.
CCache
Zainstaluj ccache
, aby buforować kompilacje.
Ccache przyspiesza rekompilację poprzez buforowanie poprzednich kompilacji i wykrywanie, kiedy ta sama kompilacja jest wykonywana ponownie. Ccache jest wolnym oprogramowaniem, wydanym na licencji GPLv3 lub nowszej.
W większości systemów ccache zostanie automatycznie wykryty i włączony, można użyć opcji FREECAD_USE_CCACHE
cmake
by kontrolować to zachowanie.
Wyłączanie modułów
Używając cmake
do konfiguracji kompilacji, można wyłączyć kompilację niektórych środowisk roboczych, które mogą nie być potrzebne w danej chwili. Jest to przydatne, jeśli chcesz przetestować tylko kilka środowisk roboczych.
Na przykład, aby uniknąć budowy środowisk pracy MES i Siatka:
cmake -DBUILD_FEM=OFF -DBUILD_MESH=OFF ../freecad-source
Użyj cmake-gui
, cmake-curses-gui
lub cmake-qt-gui
, aby wyświetlić wszystkie możliwe zmienne, które można edytować w konfiguracji. Za pomocą tych interfejsów można łatwo włączać i wyłączać różne środowiska pracy.
Liczba zadań wykonywanych równolegle
Po skonfigurowaniu za pomocą cmake
, program make
uruchamia rzeczywisty kompilator C++ do pracy nad plikami kodu źródłowego. Kompilację można przyspieszyć, pracując nad różnymi plikami w tym samym czasie. Można to osiągnąć za pomocą opcji -j
programu make
, która określa liczbę "zadań" lub poleceń kompilacji uruchamianych jednocześnie. Opcja ta jest liczbą całkowitą.
Uruchomienie równolegle czterech poleceń kompilacji:
make -j4
Kompiluje równolegle tyle plików, ile rdzeni procesora w systemie. Jest to przydatne, jeśli masz wiele rdzeni i chcesz użyć ich wszystkich do kompilacji oprogramowania.
make -j$(nproc)
Kompilowanie tylu plików równolegle, ile rdzeni procesora w systemie, minus dwa. Użyj tego, aby system nadal reagował na wykonywanie innych zadań. Na przykład dwa rdzenie pozwolą ci korzystać z przeglądarki, podczas gdy pozostałe rdzenie będą kompilować oprogramowanie w tle.
make -j$(nproc --ignore=2)
distcc
Program distcc
może być używany do wykonywania rozproszonej kompilacji kodu C i C++ na kilku maszynach w sieci.
Distcc powinien zawsze generować takie same wyniki jak lokalna kompilacja. Jest darmowy, prosty w instalacji i użyciu, a często dwa lub więcej razy szybszy niż lokalna kompilacja.
Deweloper FreeCAD "etrombly" opublikował krótkie wyjaśnienie na stronie jak zainstalować distcc, aby skompilować FreeCAD w sieci komputerów przy użyciu Dockera.
- Jak zacząć
- Instalacja: Pobieranie programu, Windows, Linux, Mac, Dodatkowych komponentów, Docker, AppImage, Ubuntu Snap
- Podstawy: Informacje na temat FreeCAD, Interfejs użytkownika, Profil nawigacji myszką, Metody wyboru, Nazwa obiektu, Edytor ustawień, Środowiska pracy, Struktura dokumentu, Właściwości, Pomóż w rozwoju FreeCAD, Dotacje
- Pomoc: Poradniki, Wideo poradniki
- Środowiska pracy: Strona Startowa, Architektura, Assembly, CAM, Rysunek Roboczy, MES, Inspekcja, Siatka, OpenSCAD, Część, Projekt Części, Punkty, Inżynieria Wsteczna, Robot, Szkicownik, Arkusz Kalkulacyjny, Powierzchnia 3D, Rysunek Techniczny, Test Framework