Cycles rendering test. Windows vs Linux.

I have long wanted to compare the speed of rendering Cycles, built in Blender on different platform - Windows and Linux. Here are the results.
http://pilipchenko.ru/eng/render_cycles.html

Well, I’m on Linux 24/7 and I can certainly buy the idea that Linux is faster than Windows for CPU intensive tasks such as rendering, it is the de facto choice for practically every rendering pipeline in the movie/tv industry, as well as 99.9% of supercomputers, computing clusters etc.

That said, you should be sure that what you are actually benchmarking is the OS, and not the compiler. In other words, unless you use the same compiler version in order to produce the Linux and Windows Blender binaries, your results are not worth much as comparisons of operating system performance.

A quick example, the upstream Blender package I get from my distro is compiled with -O2, by recompiling the same package with -Ofast and profile guided optimization I get 10-20% performance increase on cpu intensive things like rendering, and this is using the exact same compiler on the same platform, but just with different optimization options.

Now if we talk different compilers, this gets even more hairy, GCC which is almost always used to compile Linux software is known to optimize a good deal better than Microsoft’s Visual Studio, and furthermore Intel’s compiler is known to beat both.

So depending on your compiler toolchain, as well as compiler options, there’s a good chance the differences you are seeing are merely that of one compiler being better than the other, or even that they are compiled with very different optimization aggressiveness.

It seems logical to me to test Blender releases as they come and ignore compilers. I think for the end user like myself it is more important to know how fast the real world results are as opposed to the theoretical ones (that might be really important for a programmer). I think this is a useful test.

Well, they’re not really ‘theoretical’ results, as stated, by recompiling Blender with more aggressive optimization than the upstream package I gain ~15% performance increase in Cycles, that’s a very practical benefit, as in ‘real world results’.

This illustrates how judging your OS performance based upon differently generated binaries is a flawed comparison. If I download a super-optimized Blender build for one OS, and compare it to a less optimized Blender build for another OS, and draw the conclusion that one OS is faster than the other based upon those binaries, I am making an assumption based upon very flawed data.

I actually have no doubt that pilipchenko is right in his assumption that Linux is a faster OS than Windows for cpu intensive tasks like rendering, however unless the binaries he tested were both generated using the same toolchain and optimization options, his results which he presented are meaningless.

A bit late, but to support PolyPincher’s assertion about compilers; Phoronix (the Linux news/bencharking site) did some comparisons last year of running Linux benchmarks within Windows, using the Windows Subsystem for Linux.

The articles are here:
http://www.phoronix.com/scan.php?page=article&item=windows-10-lxcore&num=1
http://www.phoronix.com/scan.php?page=article&item=windows10-anv-wsl&num=1

Notably, overall you can see that both Windows and Linux are able to run the exact same program, ie the Linux version, at generally the same speeds, with Windows faster in some, and Linux in others.
As an OS/Kernel running the same binary files, neither Windows or Linux are particularly faster than the other.

The one exception is disk dependant benchmarks, as the Linux filesystem has to be translated to the NTFS one.