A well known pain point of the CLR is that loading your program and running a few lines takes too long. While I don’t know where exactly my beliefs came from, my beliefs are that this is because of
a) assemblies needing to be JITTED from MSIL in order to execute
b) in order to JIT you need to load lots of types which reference other types that reference other types, partly so the CLR can try to enforce type safety, partly because that’s just how CLR works. There’s cross-referencing baked in.
c) therefore, basically needing to load and process data that’s spread out in lots of files on your disk
So we can say it’s because you have to do lots of compilation of your code, not just running it. And hence a new trend towards .net language code (C# etc) that is actually precompiled to native code, with thrilling statistics like ‘starts up to 60% faster and uses less memory!’