I have two .NET libraries: "Foo.Bar" and "Foo.Baz".
"Foo.Bar" is self-contained, while "Foo.Baz" references "Foo.Bar".
Assuming I do the following:
- Use ILMerge to merge "Foo.Bar.dll" with "Foo.Baz.dll" into "Foo1.dll".
- Create a new solution containing the entirity of both "Foo.Bar" and "Foo.Baz" (since I have access to their source code), and compile this into "Foo2.dll".
Will there be any differences in the performance of Foo1.dll and Foo2.dll when using their functionality from an external project? If so, how significant is this performance difference, and is it a once-off (on load?) or ongoing difference? Are there any other advantages or disadvantages with either approach?