Из паттернов и практик Microsoft Повышение производительности и масштабируемости приложений .NET Глава 5:
Предпочитают одиночные большие сборки, а не множественные
Меньшие сборки
Чтобы уменьшить рабочий набор вашего приложения, вы должны предпочесть одно большее
сборки, а не несколько небольших сборок. Если у вас есть несколько сборок
которые всегда загружаются вместе, вы должны объединить их и создать единый
сборка.
Служебные расходы, связанные с наличием нескольких небольших сборок, можно отнести
на следующее:
- Стоимость загрузки метаданных для небольших сборок.
- Касание различных страниц памяти в предварительно скомпилированных изображениях в CLR по порядку
загрузить сборку (если она предварительно скомпилирована с помощью Ngen.exe).
- JIT время компиляции.
- Проверка безопасности.
Поскольку вы платите только за те страницы памяти, к которым обращается ваша программа, больше
сборки обеспечивают утилиту Native Image Generator (Ngen.exe)
шанс оптимизировать исходное изображение, которое он производит. Лучшее расположение изображения означает
что необходимые данные могут быть размещены более плотно, что, в свою очередь, означает меньшее общее
страницы необходимы для выполнения работы по сравнению с тем же кодом, изложенным в нескольких
сборок.
Иногда вы не можете избежать разделения сборок; например, для управления версиями и
причины развертывания. Если вам нужно отгружать типы отдельно, вам может понадобиться отдельный
сборки.