Конечно, вам придется протестировать свои модули, чтобы получить точный ответ, но, вообще говоря, преимущества разбиения сложного кода на несколько модулей, разделенных по функциям, — это то, что вам нужно.
Влияние вызова хука на производительность минимально; большее влияние на производительность будет иметь любой код, который запускает хук.
Количество модулей не так важно, как код, который выполняется в этих модулях.
Доказательства: при переходе от Drupal 7 к Drupal 8/9 многие основные модули Drupal перешли от «минимизации количества модулей» к «предоставлению гораздо большего количества модулей, специфичных для функций, которые можно активировать по мере необходимости»:
- AdvAgg
- коммерция
- Метатег
- Веб-форма
TLDR: Фактический код, который вы запускаете в хуках/модулях, намного важнее для производительности, чем тот факт, что вы вызываете хуки несколько раз в модулях.
Тем не менее, одна вещь, о которой вы должны помнить, заключается в том, что если вы плохо организуете свои модули, вы можете в конечном итоге добавить собственный код к одному и тому же хуку в нескольких модулях, что может привести к ошибкам, например, если вы изменяете одно и то же поле в hook_entity_update()
. Поэтому убедитесь, что вы организовали свой код таким образом, чтобы было ясно, какие модули отвечают за какие функции.
Как разработчик, определенно легче поддерживать пользовательские модули, когда они разделены по функциям, особенно в случае, если вам в конечном итоге придется использовать некоторые, но не все функции/модули на нескольких сайтах.