Which OS is better for chess? Windows or Linux.

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
yurikvelo
Posts: 710
Joined: Sat Dec 06, 2014 1:53 pm

Re: Which OS is better for chess? Windows or Linux.

Post by yurikvelo »

The first problem in TOP500 is paying for licenses for a couple of thousand nodes…. If you can get the cost down to $10 each, that is still a couple of $10,000 spent on software… and with that amount you could buy an additional 20 or more nodes.

The next problem is license management. There used to be a couple of Windows supercomputers in the top 500. Unfortunately they couldn’t use all the nodes that were paid for because the license manager wouldn’t let them use all the nodes for some reason. So they dropped the use of Windows.

There are two Supercomputers to have Windows
China-based system at #94, which runs Windows HPC Server 2008 R2. The sustained performance is about 181 TFlops achieved with 30720 Opteron 1.9 GHz cores. The second system is Australia's CSIRO GPU Cluster with 115 TFlops

Super computers are not i386 or even i686 machines. Windows could not run on such a machine without being recompiled from scratch.

You don’t have the source code for Windows, so you could not do that. Microsoft very likely does not have a suitable cross-compiler, so you would have to pay them a very great deal of money to develop and test a toolchain capable of making a Windows edition that would even boot.

And then, when you’ve got your supercomputer booted with Windows, what apps are you going to run? Word? Photoshop? Sorry, no. They are i386/i686 compiles. You have to go persuade the people that own those apps to cross-compile them (at considerable cost)

In 2006 Microsoft was trying to get into this market. Their efforts went nowhere. Assuming the source code would have been available and assuming MS would have handed out free licenses, the unsolvable problem was that there wasn’t anything compelling enough about Windows that would warrant moving away from Linux.

Windows Cluster Edition was abandoned.

Most true supercomputers have their own SPECIFICALLY designed OS. It is not Linux downloaded from distro FTP.
Jesse Gersenson
Posts: 593
Joined: Sat Aug 20, 2011 9:43 am

Re: Which OS is better for chess? Windows or Linux.

Post by Jesse Gersenson »

crem wrote: Fri Nov 02, 2018 8:09 am But from user experience perspective, Windows is still better for many tasks...
Not for the tasks I do. My 'user experience' on Windows is one of humiliation.
Jesse Gersenson
Posts: 593
Joined: Sat Aug 20, 2011 9:43 am

Re: Which OS is better for chess? Windows or Linux.

Post by Jesse Gersenson »

yurikvelo wrote: Fri Nov 02, 2018 11:07 am There are two Supercomputers to have Windows
China-based system at #94, which runs Windows HPC Server 2008 R2. The sustained performance is about 181 TFlops
The machine at position #94 performs at 35280 TFlops. You must be looking at very outdated information.
jhellis3
Posts: 546
Joined: Sat Aug 17, 2013 12:36 am

Re: Which OS is better for chess? Windows or Linux.

Post by jhellis3 »

I dual boot Windows and Linux. I perform the vast majority of my chess related activities on Linux.

For database & analysis, I use SCID, tournaments cutechess.

If performance is important to you, Linux is worthwhile, or perhaps you may be like me and just find it a generally more enjoyable environment to work in. It is free and costs nothing to try, so have at it and make your own choice what is right for you ;).
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Which OS is better for chess? Windows or Linux.

Post by Milos »

crem wrote: Fri Nov 02, 2018 8:09 am But from user experience perspective, Windows is still better for many tasks, including image processing (Gimp/Krita/Pinta is much worse than Photoshop), sound recording (Protools/Cubase/etc is much worse than whatever Linux has, although there's finally version of Reaper for Linux), and playing/analyzing chess.
And in addition to that, if you a programmer there is absolutely nothing under Linux that is even remotely as good as Visual Studio, period.
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Which OS is better for chess? Windows or Linux.

Post by Dann Corbit »

Milos wrote: Fri Nov 02, 2018 5:07 pm
crem wrote: Fri Nov 02, 2018 8:09 am But from user experience perspective, Windows is still better for many tasks, including image processing (Gimp/Krita/Pinta is much worse than Photoshop), sound recording (Protools/Cubase/etc is much worse than whatever Linux has, although there's finally version of Reaper for Linux), and playing/analyzing chess.
And in addition to that, if you a programmer there is absolutely nothing under Linux that is even remotely as good as Visual Studio, period.
Have you tried code::blocks?

It behaves pretty much like Visual Studio and you can run it on Windows, Mac, and Linux. (I think the Mac version is old, though).

The new versions are pretty nice. They find your compilers and let you choose which one you want for the project.

You can trace along debugging just like visual studio.

You get nice error reports and you can click on the error, or search through all the files in the project, etc.

I use code::blocks a lot, but I do think Visual Studio gets the edge at least on Windows.
Visual Studio will also let you install other compilers (at least I have used Clang under Visual Studio).
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
mar
Posts: 2555
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Which OS is better for chess? Windows or Linux.

Post by mar »

Dann Corbit wrote: Fri Nov 02, 2018 8:22 pm Have you tried code::blocks?

It behaves pretty much like Visual Studio and you can run it on Windows, Mac, and Linux. (I think the Mac version is old, though).

The new versions are pretty nice. They find your compilers and let you choose which one you want for the project.

You can trace along debugging just like visual studio.

You get nice error reports and you can click on the error, or search through all the files in the project, etc.

I use code::blocks a lot, but I do think Visual Studio gets the edge at least on Windows.
Visual Studio will also let you install other compilers (at least I have used Clang under Visual Studio).
Actually I do use code:blocks on Linux, but it is (used to be?) very buggy, crashing and freezing all the time, debugging sometimes works, but is still painful.
VS has its own bugs, but I agree it's simply the best IDE out there (I tried xcode on Mac so I can compare).

The real pain is gcc linker though, you have to link the libraries in a specific order according to dependency chain,
otherwise you get nasty linker errors as the linker "optimizes" and removes symbols it thinks aren't needed.
So if your binary depends on A, B and C, and the chain is C depends on B, B depends on A you have to link C, B then A.
This bite me once and I spent hours to figure out what's going on.

For small programs like chess engines, this is not a problem.
Martin Sedlak
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Which OS is better for chess? Windows or Linux.

Post by Dann Corbit »

mar wrote: Fri Nov 02, 2018 8:39 pm {snip}
Actually I do use code:blocks on Linux, but it is (used to be?) very buggy, crashing and freezing all the time, debugging sometimes works, but is still painful.
VS has its own bugs, but I agree it's simply the best IDE out there (I tried xcode on Mac so I can compare).

The real pain is gcc linker though, you have to link the libraries in a specific order according to dependency chain,
otherwise you get nasty linker errors as the linker "optimizes" and removes symbols it thinks aren't needed.
So if your binary depends on A, B and C, and the chain is C depends on B, B depends on A you have to link C, B then A.
This bite me once and I spent hours to figure out what's going on.

For small programs like chess engines, this is not a problem.
I only use code::blocks on little projects like chess engines on Linux, and I did not see any problems like freezing or crashing.
On big projects, I just use the normal gcc tool chain.
I also only use code::blocks on toy-sized projects on Windows (e.g. chess engines) and not something huge like a database.

You can also have problems with the Windows linker. But it does have the ability to turn on heavy duty tracing for the link process which will show you want went wrong.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Which OS is better for chess? Windows or Linux.

Post by lucasart »

mar wrote: Fri Nov 02, 2018 8:39 pm
Dann Corbit wrote: Fri Nov 02, 2018 8:22 pm Have you tried code::blocks?

It behaves pretty much like Visual Studio and you can run it on Windows, Mac, and Linux. (I think the Mac version is old, though).

The new versions are pretty nice. They find your compilers and let you choose which one you want for the project.

You can trace along debugging just like visual studio.

You get nice error reports and you can click on the error, or search through all the files in the project, etc.

I use code::blocks a lot, but I do think Visual Studio gets the edge at least on Windows.
Visual Studio will also let you install other compilers (at least I have used Clang under Visual Studio).
Actually I do use code:blocks on Linux, but it is (used to be?) very buggy, crashing and freezing all the time, debugging sometimes works, but is still painful.
VS has its own bugs, but I agree it's simply the best IDE out there (I tried xcode on Mac so I can compare).

The real pain is gcc linker though, you have to link the libraries in a specific order according to dependency chain,
otherwise you get nasty linker errors as the linker "optimizes" and removes symbols it thinks aren't needed.
So if your binary depends on A, B and C, and the chain is C depends on B, B depends on A you have to link C, B then A.
This bite me once and I spent hours to figure out what's going on.

For small programs like chess engines, this is not a problem.
I used to like IDEs, and goet fed up. Was using Codelite, and Code::Blocks. I guess these IDEs are good for doing GUI programming, although Qt Creator is probably a better choice for that.

But for chess programming, I just use a terminal. Plain and simple. Text Editor + Clang/GCC. I'm not going to say which text editor, because that can start a flamewar.

I also gave up on using debuggers. That has forced me to be more careful in the way I write and test code. Basically, I want to write code that debugs itself. And otherwise, I use good old-fashion printf() debugger.

The thing about chess programming is that is much more about quality than quantity. It's not about IDE features that save some keystrokes with auto-completion, or building some (crappy) Object Oriented boiler plate for you (like click a few buttons to build class hierarchies). It's about writing and maintaining in a holistic manner an extremely dense and precise code-base. For every patch, the time spent typing code is less than 0.1%. The rest is thinking and testing. So even something basic like nano is just fine.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
Colin-G
Posts: 191
Joined: Mon Oct 31, 2016 6:30 pm
Location: England

Re: Which OS is better for chess? Windows or Linux.

Post by Colin-G »

In linux, along with bash, I use tcl/tk.
I came across tcl/tk when first compiling Scid for linux many years ago.
I used it for writing some chess utilities because of its ability to produce graphical programs.
I had previously used Delphi in Windows for such tasks and the linux equivalent lazarus was not available then.
I have stuck with tcl/tk over the years and it can also be installed in Windows. This means the same code runs in both Windows and linux without much editing.
There is also a Windows program called Freewrap that I use, which can produce a windows executable from the code to run on other windows machines without installing tcl/tk.