Compiling (Speeding up)/ru: Difference between revisions
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
(21 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
<div class="mw-translate-fuzzy"> |
|||
{{Docnav/ru|[[CompileOnMac/ru|CompileOnMac]]|[[Third Party Libraries/ru|Third Party Libraries]]}} |
|||
</div> |
|||
{{Docnav |
|||
<div class="mw-translate-fuzzy"> |
|||
|[[FreeCAD_Docker_CLI_mode/ru|FreeCAD Docker в режиме команндной строки CLI]] |
|||
При разработке FreeCAD требуется сборка из исходного кода, и фаза компиляции / сборки может отнимать драгоценное время на разработку. Вот несколько советов, чтобы сократить этот процесс и сделать время сборки более эффективным. |
|||
|[[Third_Party_Libraries/ru|Сторонние библиотеки]] |
|||
</div> |
|||
}} |
|||
{{TOCright}} |
|||
<span id="Overview"></span> |
|||
==Обзор== |
|||
FreeCAD - это крупное приложение, для полной компиляции которого из исходного когда, может потребоваться от 10 минут до часа. В первую очередь это зависит от используемого процессора и количества ядер, используемых в процессе компиляции. Вот несколько советов, как сократить время процесса сборки. |
|||
== CCache == |
|||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
=== CCache === |
=== CCache === |
||
Установите ccache для кеширования сборок |
Установите {{incode|ccache}} для кеширования сборок. |
||
</div> |
</div> |
||
[https://ccache.dev/ Ccache] speeds up recompilation by caching previous compilations and detecting when the same compilation is done again. Ccache is free software, released under GPLv3 or later. |
|||
On most systems ccache will be automatically detected and enabled, you can use the {{incode|FREECAD_USE_CCACHE}} {{incode|cmake}} option to control this behavior. |
|||
== Disable modules == |
|||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
=== Отключаемые модули === |
=== Отключаемые модули === |
||
При использовании {{incode|cmake}} для настройки сборки вы можете отключить компиляцию определенных инструментальных средств, которые в данный момент могут вам не понадобиться. Это полезно, если вам нужно протестировать только несколько инструментальных средств. |
|||
Используйте флаги cmake-curses-gui, cmake-qt-gui или cmake для отключения модулей, с которыми вы не работаете |
|||
</div> |
</div> |
||
Например, чтобы исключить сборку верстаков FEM и Mesh: |
|||
For example, to avoid building the FEM and Mesh workbenches: |
|||
{{Code|code= |
{{Code|code= |
||
Line 24: | Line 37: | ||
}} |
}} |
||
Используйте {{incode|cmake-gui}}, {{incode|cmake-curses-gui}} или {{incode|cmake-qt-gui}} для отображения всех возможных переменных, которые можно редактировать в конфигурации; с помощью этих интерфейсов вы можете легко включать или выключать различные инструментальные средства. |
|||
== Number of jobs in parallel == |
|||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
== Количество параллельных заданий == |
|||
=== make -j === |
|||
После настройки с помощью {{incode|cmake}} программа {{incode|make}} запускает настоящий компилятор C++ для работы с файлами исходного кода. Вы можете ускорить компиляцию, работая одновременно с различными файлами. Это достигается с помощью опции {{incode|-j}} {{incode|make}}, которая обозначает количество "задач" или команд компиляции, выполняемых одновременно. Этот параметр представляет собой целое число. |
|||
Используйте make -j #, чтобы указать количество заданий. Предлагаемое значение - это количество ядер компьютера, например, |
|||
<pre>make -j$(nproc)</pre> |
|||
</div> |
</div> |
||
Выполняйте четыре команды компиляции параллельно: |
|||
Run four compilation commands in parallel: |
|||
{{Code|code= |
{{Code|code= |
||
Line 38: | Line 52: | ||
}} |
}} |
||
Скомпилируйте параллельно столько файлов, сколько ядер процессора в вашей системе. Это полезно, если у вас много ядер и вы хотите использовать их все для компиляции программного обеспечения. |
|||
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 44: | Line 58: | ||
}} |
}} |
||
Скомпилируйте параллельно столько файлов, сколько ядер процессора в вашей системе, минус два. Используйте это, чтобы ваша система спокойно реагировала на выполнение какой-либо другой задачи; например, два ядра позволят вам использовать браузер, в то время как остальные ядра продолжают компилировать программное обеспечение в фоновом режиме. |
|||
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= |
||
make -j$(nproc --ignore=2) |
make -j$(nproc --ignore=2) |
||
}} |
}} |
||
== distcc == |
|||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
=== distcc === |
=== distcc === |
||
Программа {{incode|distcc}} может использоваться для выполнения распределенной компиляции кода на языках C и C++ на нескольких компьютерах в сети. |
|||
</div> |
</div> |
||
[https://www.distcc.org/ Distcc] should always generate the same results as a local compilation. It is free, simple to install and use, and often two or more times faster than compiling locally. |
|||
<div class="mw-translate-fuzzy"> |
|||
{{Docnav/ru|[[CompileOnMac/ru|CompileOnMac]]|[[Third Party Libraries/ru|Third Party Libraries]]}} |
|||
</div> |
|||
FreeCAD dev 'etrombly' has published a short explanation on [https://forum.freecadweb.org/viewtopic.php?f=4&t=50810&p=459142#p458614 how to install distcc to compile FreeCAD on a network of computers using Docker]. |
|||
⚫ | |||
⚫ | |||
{{ |
{{Docnav |
||
|[[FreeCAD_Docker_CLI_mode/ru|FreeCAD Docker в режиме команндной строки CLI]] |
|||
|[[Third_Party_Libraries/ru|Сторонние библиотеки]] |
|||
}} |
|||
⚫ | |||
[[Category:Developer_Documentation{{#translation:}}]] |
|||
⚫ |
Latest revision as of 14:55, 23 July 2023
Обзор
FreeCAD - это крупное приложение, для полной компиляции которого из исходного когда, может потребоваться от 10 минут до часа. В первую очередь это зависит от используемого процессора и количества ядер, используемых в процессе компиляции. Вот несколько советов, как сократить время процесса сборки.
CCache
CCache
Установите ccache
для кеширования сборок.
Ccache speeds up recompilation by caching previous compilations and detecting when the same compilation is done again. Ccache is free software, released under GPLv3 or later.
On most systems ccache will be automatically detected and enabled, you can use the FREECAD_USE_CCACHE
cmake
option to control this behavior.
Disable modules
Отключаемые модули
При использовании cmake
для настройки сборки вы можете отключить компиляцию определенных инструментальных средств, которые в данный момент могут вам не понадобиться. Это полезно, если вам нужно протестировать только несколько инструментальных средств.
Например, чтобы исключить сборку верстаков FEM и Mesh:
cmake -DBUILD_FEM=OFF -DBUILD_MESH=OFF ../freecad-source
Используйте cmake-gui
, cmake-curses-gui
или cmake-qt-gui
для отображения всех возможных переменных, которые можно редактировать в конфигурации; с помощью этих интерфейсов вы можете легко включать или выключать различные инструментальные средства.
Number of jobs in parallel
Количество параллельных заданий
После настройки с помощью cmake
программа make
запускает настоящий компилятор C++ для работы с файлами исходного кода. Вы можете ускорить компиляцию, работая одновременно с различными файлами. Это достигается с помощью опции -j
make
, которая обозначает количество "задач" или команд компиляции, выполняемых одновременно. Этот параметр представляет собой целое число.
Выполняйте четыре команды компиляции параллельно:
make -j4
Скомпилируйте параллельно столько файлов, сколько ядер процессора в вашей системе. Это полезно, если у вас много ядер и вы хотите использовать их все для компиляции программного обеспечения.
make -j$(nproc)
Скомпилируйте параллельно столько файлов, сколько ядер процессора в вашей системе, минус два. Используйте это, чтобы ваша система спокойно реагировала на выполнение какой-либо другой задачи; например, два ядра позволят вам использовать браузер, в то время как остальные ядра продолжают компилировать программное обеспечение в фоновом режиме.
make -j$(nproc --ignore=2)
distcc
distcc
Программа distcc
может использоваться для выполнения распределенной компиляции кода на языках C и C++ на нескольких компьютерах в сети.
Distcc should always generate the same results as a local compilation. It is free, simple to install and use, and often two or more times faster than compiling locally.
FreeCAD dev 'etrombly' has published a short explanation on how to install distcc to compile FreeCAD on a network of computers using Docker.
- Начинающим
- Установка: Загрузка, Windows, Linux, Mac, Дополнительных компонентов, Docker, AppImage, Ubuntu Snap
- Базовая: О FreeCAD, Интерфейс, Навигация мыши, Методы выделения, Имя объекта, Настройки, Верстаки, Структура документа, Свойства, Помоги FreeCAD, Пожертвования
- Помощь: Учебники, Видео учебники
- Верстаки: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework