Số lượng mô-đun được cài đặt có thể ảnh hưởng đến hiệu suất. Đó là lý do tại sao, ví dụ, lõi Drupal lưu trong bộ nhớ đệm tên của các hook được triển khai.
Với những gì lõi Drupal làm, việc tăng số lượng mô-đun được cài đặt sẽ có tác động thấp hơn đến hiệu suất.
Mục đích của các nhà phát triển không phải là giảm số lượng mô-đun/mô-đun con, mà là viết các mô-đun triển khai một tính năng cụ thể. Rõ ràng, nếu việc triển khai một tính năng yêu cầu vài dòng, thì có lẽ mô-đun đó nên được hợp nhất với một mô-đun khác, đặc biệt nếu mô-đun đó là một mô-đun con.
Để làm một ví dụ, thay vì Nút và Người dùng mô-đun, có thể có một mô-đun duy nhất (ví dụ: được gọi là Nội dung cơ bản). Vì những mô-đun đó thường được yêu cầu từ hồ sơ cài đặt, nó sẽ làm giảm số lượng mô-đun đã cài đặt. Nó cũng có thể giảm số lượng móc được triển khai, vì (ví dụ) node_user_predelete()
có thể được hợp nhất với một phương thức lớp hoặc một chức năng khác.
Dù sao, làm như vậy, hai mô-đun với các mục đích khác nhau sẽ được hợp nhất với nhau; các hook có thể được giảm bớt, nhưng trong một số trường hợp, mã bây giờ có thể cần kiểm tra trước một số điều kiện đã được đáp ứng chưa; có lẽ nhiều dịch vụ sẽ được tải chậm, điều đó có nghĩa là sẽ có hai lớp thay vì một (lớp proxy và lớp triển khai dịch vụ). Các lớp đó cần phải được đồng bộ hóa với nhau: Bất kỳ thay đổi nào trên lớp dịch vụ cũng cần được thực hiện trên lớp proxy. (Có một tập lệnh để làm điều đó, nhưng nó chỉ hoạt động trên các mô-đun đã cài đặt, điều đó có nghĩa là nhà phát triển sẽ cần một máy chủ cục bộ chạy Drupal và hãy nhớ chạy tập lệnh cho mọi dịch vụ được tải chậm.)
Nó không chỉ là vấn đề của các hook được triển khai: Trong Drupal 9, một mô-đun đủ phức tạp sẽ triển khai nhiều lớp, một số trong số đó là triển khai dịch vụ hoặc plugin. Ngay cả các mô-đun đủ đơn giản để chỉ cần một mã triển khai tuyến duy nhất trong ít nhất một lớp.