На этот вопрос нет ответа. Количество работников в значительной степени зависит от типа приложения и доступности / управления ресурсами в системе времени выполнения.
Конечно, когда ваша система имеет более 4 ядер, вам нужно большее число, чтобыиспользовать больше доступной вычислительной мощности. Но вы не обязательно хотите насытить все ядра, в зависимости от того, что еще работает в системе. Особенно приложения, связанные с вводом-выводом, не обязательно выиграют от слишком большого количества рабочих потоков. Поэтому установка CRYSTAL_WORKERS=$(nprocs)
, вероятно, не очень хорошая идея.
CRYSTAL_WORKERS=4
- это просто значение по умолчанию, потому что оно должно быть. Это довольно распространенное значение по умолчанию, потому что а) оно должно обеспечивать разумное улучшение по сравнению с однопоточным исполнением и б) современные процессоры обычно имеют как минимум 4 ядра. подумайте, какой номер рабочего подходит для этой конкретной среды, и настройте его соответствующим образом. Использование другого значения по умолчанию никак не поможет.