Compilation speed: Same source file - Windows vs. Linux

Curious as to why my compilation times are high (on the Windows 10 Inform GUI), I installed a virtual machine (via VirtualBox) on my Windows 10 laptop and installed Lubuntu 17.04 and then installed Inform 7 on that.

Running the SAME large project source test file gave a compilation time of 24 secs on Windows 10, and 17 seconds on Lubuntu.

So why is the Windows version so much slower??? (Yes, Windows Defender has been disabled!)

Wasn’t there something about the Windows implementation of stdio (fputs, etc) being unbuffered and terrible? I vaguely remember this from I6.

Maybe the Linux filesystem itself is more efficient at handling all those index files than Windows’s NTFS?

It would be nice to see a compile option not to generate all the Index files; then it would be easy to tell if they really do make a difference…

Hmm… that seems to be true for other aspects apart from compilation time…

In an Ubuntu box running on an Intel Core i5 430M @ 2.26 GHz with 4 GB of RAM, pressing “Play to here” in the Skein seems to get it working consistently faster than its Windows counterpart running on an Intel Core i7-6700 CPU @ 3.40GHz with 16 GB of RAM!

well, refraining from the obligatory “Linux Rulez !”, i point that Mr. MattD is right about the filesystem, esp. ext3 and ext4 is blinkingly fast, mainly because of its buffering scheme; but the core reason of this speed is that Linux is an *nix operating system, and Unix was, and still is, since the very start, build around, and integrated with a compiler, and an Unix-like OS and filesystem gives their best in, well, compiling.

Best regards from Italy,
dott. Piergiorgio.

Can you go into more detail? I was guessing.

Last time I looked at this was more than 10 years ago. Back then, there were two issues.

a) Linux is mapping files into memory (“mmap()”), while on Windows it seemed that this needed to be performed manually. (I’ve just got a strong dejavu on this. I think there was a discussion about this on RAIF?)

b) Linux is aggressively caching data into memory, while Windows was more conservative.

Whether these are actually true or not these days, I’ve no idea.

b) is by far the main component of the speed, but another is that the filesystem is much better designed (esp. ext3/4)

sorry for the delay in explaining.

Best regards from Italy,
dott. Piergiorgio.