2010-04-22 3 views
7

У меня есть две библиотеки .NET: «Foo.Bar» и «Foo.Baz».
«Foo.Bar» является самодостаточным, а ссылки «Foo.Baz» «Foo.Bar».Производительность .NET ILMerged сборок

Предполагая, что я следующее:

  • Использование ILMerge сливаться "Foo.Bar.dll" с "Foo.Baz.dll" в "Foo1.dll".
  • Создайте новое решение, содержащее энтузиазм как «Foo.Bar», так и «Foo.Baz» (поскольку у меня есть доступ к их исходному коду) и скомпилируйте его в «Foo2.dll».

Будет ли изменяться производительность Foo1.dll и Foo2.dll при использовании их функций из внешнего проекта? Если да, то насколько значительна эта разница в производительности, и является ли она разовой (при загрузке?) Или текущей разницей? Существуют ли какие-либо другие преимущества или недостатки любого подхода?

ответ

3

Я уверен, что это не произвело бы точно то же самое ИЛ, но было бы очень близко, и я не могу представить сколько-нибудь заметной разницы между этими двумя методами. Кроме того, что метод ILMerge, вероятно, более удобен и удобен в обслуживании, я думаю, что оба решения будут иметь одинаковый результат.

+0

Почему бы ему не произвести то же самое IL? Зачем ILMerge должен испускать новый IL? –

+0

Основная часть Ил будет такой же, но ILMerge делает некоторые преобразования. Некоторые из них настраиваются как определения типа слияния. Некоторые из них связаны с атрибутами уровня сборки. Я думаю, что это может изменить видимость типа и т. Д. – Josh

+0

Ничего из этого не должно сказаться на производительности сборки, заметьте. – Josh

Смежные вопросы