Sure , it is about the definition of "only" that we are disagreeing.
Your "only" is (for the simplest Hello World):
ilrun.exe 5897299 bytes
libjit-0.dll 1320622 bytes
mscorlib.dll 1762304 bytes
8980225 bytes
The "mono" used in integratedrv is:
mono-2.0.dll 2977280 bytes
msvcr100.dll 773968 bytes
3751248
8980225/3751248=2.39
And of course the "nothing" needed for both dsfo/dsfi (or any other self standing, compiled .exe) is:
nothing.dll 0 bytes
and BOTH:
8980225/0
and
3751248/0
gives the same result.
Now, a defense of scripting and compiling.
A script (be it batch, vbs, autoit, Winbuilder, *whatever*) has the need of some external runtimes (some included anyway in the OS) and offer the (IMHO great) advantage of being (easily) modifiable/tweakable at the cost of a slower execution (wich in many cases, i.e. for simple programs and given the high speed of common hardware today, is negligible).
A compiled .exe offers generally faster execution (as said more often than not actually unneeded), it cannot be modified (and don't come out with "open source", 90 or 95% that that offers not "reproducible builds" or adequate compiling instructions) AND small file sizes (in many cases, though the senseless use of stupid external .dll's often negates this).
.NET, "Mono" and this dotNEW things are programs as unmodifiable as normal compiled .exe's BUT they also take 10 or 100 times the disk space as those.
Wonko