We have a product with approximately 50 assemblies (DLL files), most of which are necessary and are loaded when the main executable file is launched. As a result, even on a moderately fast machine, the assembly and JIT'ing load time takes 2-3 seconds, which in our case is unacceptable service information.
If we download the program once and run it several times from the same, still executable executable file, the timings begin with a few ms. But for end users this is not an option, they will run it from the command line.
I would like to speed up the download on the first instance of the executable. There is little acceleration between a cold start (after rebooting Windows) and a warm start, but only slightly. What methods or tools are available in .NET that we can use to speed up loading (note: we tried ILMERGE, which only helps about 30%, and NGEN is not an option, it needs to be run on various systems and architectures).
I was considering creating a service and / or a specific CLR host environment, but hopefully there is a simpler and more trivial solution. I have not tried GAC'ing yet.
source
share