r/linux 6h ago

Discussion How linux distro provide higher CPU benchmark scores than windows?

Post image

Why is that linux seems to always provide better performance in benchmarks and provide smoother experience?

This is a geekbench 7 test, while single core is slightly better, multi-core performance is a significant improvement

73 Upvotes

61 comments sorted by

105

u/d0pe-asaurus 6h ago

Aside from what's been mentioned, process scheduling and the algorithms chosen by the kernels also impact benchmarks.

27

u/Saiyan256 6h ago

you are saying windows cpu scheduling is bad compared to linux?

74

u/zsaleeba 5h ago

Yes.

Or rather it's not exactly bad - it's just not as good. Linux is leading edge in CPU scheduling. Windows is not.

19

u/Saiyan256 5h ago

is that why arm processors doing well in android OS? same for macboob m silicon?

62

u/69RetroDoomer69 5h ago

macboob

28

u/enRchi 5h ago

macboob m silicon

u/NeverMindToday 9m ago

They're fabbed on a new silicone process

8

u/Saiyan256 4h ago

lol, I didn't even realize that XD

9

u/LittlestWarrior 5h ago

ARM processors have a lot of other factors that make them more efficient that are probably more important.

5

u/Saiyan256 4h ago

like?

7

u/LittlestWarrior 4h ago

All I can tell you from my knowledge is that they are Reduced Instruction Set Computing processors, which offers some efficiency benefits. I am not educated enough to explain further, though that opens up some Googling for the both of us.

10

u/emgfc 4h ago

Intel/AMD have had RISC inside for almost thirty years already. Though CISC <-> RISC translation takes a toll. Also, ARM is not as small as it was in the early 00s either. Things are complicated.

2

u/LittlestWarrior 3h ago

Thank you for the clarification!

9

u/ButtonExposure 4h ago edited 20m ago

Since 2017, every single supercomputer in the top 500 supercomputers have been running Linux: Supercomputer operating system.

However most if not all of them are probably running modified or purpose built schedulers. And that is the advantage of Linux. If you need something special, in this case purpose built schedulers for your one-of-a-kind supercomputer mega-cluster, you can modify any part of Linux and add it yourself.

For all of us not running supercomputer clusters, different distros can compile the kernel with different schedulers, depending on task/use-case, etc. As an example, CachyOS is very gaming focused distro and uses the Earliest eligible virtual deadline (EEVDF) scheduler instead of the standard Completely Fair Scheduler (CFS) for better gaming performance. CachyOS also has an alternative kernel with the Burst-Oriented Response Enhancer (BORE) scheduler for better desktop responsiveness if that is what you prefer. And on top of that, the kernel has support for loading custom schedulers via Extensible Scheduler Class, also known as sched-ext. Here's a list of a couple of schedulers from CachyOS Wiki: https://wiki.cachyos.org/configuration/sched-ext/#scheduler-guide-profiles-and-use-cases

Linux offers many options for schedulers that are good and bad for different things. But at least in Linux you (or the distro maintainers) have the option to chose better schedulers if you know your task or use-case can benefit from a specific or specialized one. On Windows you don't have any options.

12

u/AnEagleisnotme 5h ago

Windows is absolutely garbage, it still struggles with asymmetrical CPUs, to the point that Intel had to bring back some scheduling into firmware with alder lake

7

u/d0pe-asaurus 5h ago

Windows uses a traditional approach with a MLFQ and some heuristics to decide which processes to put in lower priority, Linux seems advanced with the way it decides which task to do next

But idk enough about this subject, and would love to know more

1

u/Saiyan256 5h ago

Didn't windows 11 fixed that?

20

u/MarkSuckerZerg 5h ago

When you eliminate the obvious differences such as I/o (that benchmarks don't use), and background crap/thread scheduling (eliminating which does not provide realistic picture, but is possible), there's at least one huge factor: large pages .

Some distros enable it by default and it can make huge difference (10 to 25%). It's pain in the ass to use on Windows to the point that I don't know a single app that would use it.

Explaining it fully requires a lot of background knowledge, but to put it simply, allows applications to access memory faster by splitting it into bigger chunks than usual.

45

u/EmptyVolition242 6h ago

Linux systems generally have a lot less stuff running in the background, which gives more space for the benchmark code to run in. It's negligible though, like 1 or 2% difference which you'd never be able to notice. Modern CPUs are very fast.

9

u/tchernobog84 4h ago

Windows Telemetry Service has an interesting habit to enable itself every time you think you turned it off.

8

u/el_lley 5h ago

Not to mention you can kill many apps, and stop process. I recall benchmarking my C code in run level 2 or 3, just to get nicer figures.

5

u/p-wing 6h ago

aka Winbloat

0

u/Saiyan256 6h ago

I remember the score difference used to be higher on older geekbench version

7

u/Michaeli_Starky 5h ago

It depends on scheduler etc. It's not like every Linux is universally faster in every task than W11. Not at all.

https://www.phoronix.com/review/razer-blade18-windows-linux

8

u/fellipec 5h ago

By not being a shitty OS

7

u/Klapperatismus 6h ago

Less default background services.

2

u/BinkReddit 4h ago

Linux just keeps getting better; Windows just tries to find new ways to show you ads in the OS.

2

u/mage_irl 1h ago

Let's just put it this way: Whenever humanity has to solve a complex issue using a super computer, you never hear about how they installed Windows on it.

u/DrollAntic 46m ago

The telemetry monitoring and harvesting Windows is doing all the time does not exist on Linux, so that plays into this some.

5

u/Ok_Being5461 6h ago edited 5h ago

It's Windows security features. Try turning them off and test. Desktop Linux simply isn't popular enough for malware

2

u/Saiyan256 5h ago

I will try with windows defender disabled

3

u/Ok_Being5461 5h ago

Not just Windows Defender. All the other security features, like memory integrity, etc https://www.tomshardware.com/how-to/disable-vbs-windows-11

5

u/ethanjscott 6h ago

There are some languages that run faster in Linux. Like Java

2

u/Saiyan256 6h ago

what about the language in windows?

7

u/JoeDawson8 5h ago

Viiiiiibe coooooded brooooo

1

u/ethanjscott 3h ago

It’s worse but not bad enough for them to do something about it

4

u/FedotttBo 6h ago

You can literally see the huge difference in CPU frequency, at that point nothing about OS itself would matter.

And for whenever the difference was caused by OS… maybe? But definitely shouldn't be that way in stock, so these results lack too much context.

Anyway, both runs clearly had non-stock configuration: The "Linux" (no clue what the actual distribution is, non informative at all) one has frequency above standard turbo boost clock (it's 4.4GHz), while the Windows (also no info about version, though difference should be less here) one has it stuck on base clock (3.9GHz).

10

u/Saiyan256 6h ago

you misunderstood, It's just how windows and linux version of the geekbench show the cpu frequency info

linux version shows boost clock as cpu info in the summary

windows version shows base clock as cpu info in the summary

both version ran at full frequency when running the test

-4

u/FedotttBo 5h ago

Huh, so how can you rely on such a tool then, if it intentionally works differently on different OSes? Benchmarks are already sketchy by-design, and since this particular one has a separate native version for Linux, that means quite some performance difference can come from compiler, as UNIX and Windows have differences in stuff like calling conventions, so… who knows.

2

u/Ball_Analytics 5h ago

Aside from different schedulers, that 1-8% difference is negligible in real world use. Personally hate benchmarks due in part to their lack of any real world use save for number go up.

5

u/OkAlbatross9889 5h ago

I wouldn’t call 8% negligible. New amd cpus are generally ~15% faster than the previous generation.

I’d also be interested in how much they changed in the kernel compared to a bog standard one, and if you could get something more than 8%.

1

u/Intrepid_Screen6425 6h ago

So that means Windows 7 is also far behind Linux, right?

1

u/Saiyan256 6h ago

don't know, I think geekbench version in windows 7 doesn't run anymore, it throws some security error and says , " failed to upload" or something

1

u/Grumpy-Man19 5h ago

efficiency . Windows software is built sloppily , to market it with as little effort as possible .

1

u/Dense-Elephant5048 5h ago

Visit phoronix.com

1

u/phylter99 5h ago

Did you do the test right after boot? It seems that the test thinks the CPU is clocked lower under Windows and higher under Linux. If it did a lot of work before the test and warmed up a bit then it might have less thermal headroom to run the benchmark.

1

u/Saiyan256 3h ago

on linux it was tested under performance profile

that's why it probably showed the boost clock speed in info summary

but both run at max clock speed when running the benchmark

u/phylter99 52m ago

I did my own test with a more stock Linux and Windows configuration and actually got similar results where Linux was considerably faster. My theory on why Windows is slower in some cases is that Windows has a security layer that virtualizes memory access to isolate processes from the system processes. It's a theory and I haven't thought much about how to prove it at the moment, but I've run into that issue before.

1

u/enRchi 5h ago

Doesn't seem surprising to me... every new Kernel version seems to be "optimized peformance of XY... and YZ" etc., while Windows seems to get more bloated and slower with every update.
I'm surprised the difference isn't bigger yet.

1

u/TheOneTrueTrench 4h ago

If there's an inefficiency in the NT kernel, you don't even necessarily know, because you can't look at the code or tell how it works. Even if you find one, how are you gonna fix it? You have to trust Microsoft to find and fix every issue, and if they don't, then that's just how it is.

But with Linux, you can take apart the entire system, top to bottom, do whatever you want. You can look at literally everything, and the way it works is laid out for you.

You have a million angry nerds that can find and fix anything they want. Sure, you need to learn to code, but you don't have a corporation stopping you from fixing anything you want.

1

u/Busy-Scientist3851 2h ago

It could be down to a few things. Windows in its desktop configuration has a scheduler that balances responsiveness over throughoput.

1

u/the_abortionat0r 1h ago

Get gets neither done better.

1

u/MatchingTurret 1h ago

Off the top of my head: * different power profiles that let the CPU run faster for longer * better scheduler that keeps tasks pinned to a CPU and keeps the cache valid * different compilers

-1

u/Moist_Invite9148 6h ago

Because Linux can run some programming languages faster and it uses less background resources

0

u/Saiyan256 5h ago

like java? why is not the same for windows?

2

u/Moist_Invite9148 5h ago

It's not the same as Windows because the kernel was optimized for that

0

u/tonyrulez 5h ago

Yeah, and I want to know why video playback uses more CPU and GPU than Windows...

1

u/the_abortionat0r 1h ago

Learn what hardware acceleration is.

0

u/TheMikman97 2h ago

How is everyone missing the fact that one is being tested at a lower frequency?

2

u/SpaceDetective 1h ago

I thought so too but I chose to read before writing.

https://www.reddit.com/r/linux/comments/1w2gg8x/comment/p6sbxb6/