Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Linux x Windows performance in chess programs

Author: Robert Hyatt

Date: 10:45:59 11/13/02

Go up one level in this thread


On November 13, 2002 at 11:32:14, Bob Durrett wrote:

>On November 13, 2002 at 11:08:21, Robert Hyatt wrote:
>
>>On November 13, 2002 at 09:54:46, Ricardo R Santana wrote:
>>
>>>Hello All
>>>
>>>I ve asked in this list about the performance of chess programs in Linux and
>>>Windows. So, It seems there a lot of variable to take into account, but the main
>>>conclusion seems to be something like: even if one of them is better than the
>>>other (because of OS or compiler) the gain is about nothing. So, I asked a
>>>friend of mine from a University to make a test for me, and here are the
>>>results:
>>>Windows:  Athlon XP 1700, 256 MB RAM DDR 333.
>>>Linux: Athlon 1200, 256MB de RAM DDR 266
>>>
>>>The program he was working on was a kind of vector ordering ( Mergesort,
>>>Quicksort, Insert and Heapsor). So, he complied the program in windows and
>>>Linux. In Linux he did not optimize the code, so the simulation took 11 minutes
>>>in windows and 9 minutes in Linux. I am not sure which was the compiler he used
>>>in windows ( I am trying to recover this information). So, when he optimize the
>>>code in linux the simulation now takes 2 minutes.It seems a great improvement.
>>>
>>>Ok, vector ordering seems nothing to do with chess at all, and reading the last
>>>discution about the compiler performance it seems the above result will change
>>>nothing. But for sure, I would really like to try !!
>>>
>>>So we have access to crafty C code. So, if I want to show that the program
>>>performs better in Linux than in Windows, I think I should try to better compile
>>>both.
>>>
>>>For linux I intend to use gcc: of course there is icc (intel compiler) but I did
>>>not got results much better than in gcc for my thesis simulation. But of course
>>>I can try.
>>>
>>>For windows, is there any suggestion ?
>>>
>>>After compiling, how can I make a crafty x crafty match in a IP network ??
>>>
>>>thanks
>>>Ricardo Sant Ana
>>
>>
>>The operating system is not going to make any significant difference.  The
>>compiler _will_
>>make a huge difference however.  MSVC is better than GCC.
>
>What is the problem with GCC?  Why does GCC give slower code?  In context of the
>earlier "optimizer" discussion, is there a a particularly difficult problem with
>"optimizing" which is inherent in GCC or Linux?

gcc has two problems:

(1) it is free.  Which means all development is done based on specific needs of
the
people doing the development.  MSVC is sold, and the development team is paid to
continually improve the product since it is sold for a profit.

(2) gcc is multi-platform.  It will compile source and produce executables for
most any
computer architecture on the planet.  MSVC is specifically tailored to the
intel/amd
architectures, which lets the developers spend more time studying the particular
target
architectures as opposed to having to produce and optimize code for nearly all
architectures.

Intel's compiler is very good, however.  It produces code significantly faster
than that which
gcc produces.  It is also available for free, and it is very close to MSVC.  It
is better than gcc
for the same reasons.  One architecture.  And the vendor is interested in
selling the processors
and are willing to develop/distribute a good compiler to make their processor
look as favorable
as possible.


>
>I'm still trying to better understand and determine what it is that affects
>chess engine performance. I would also like to better understand why "the Fritz
>people" would avoid the use of compilers altogether.  [They only program for
>Windows, so portability may not be such a big issue for them.]  Maybe 100 rating
>points is enough to put them at the top of the SSDF list?

That is a significant advantage if you can go 2x faster.  Even 1.5X faster is
significant.
If you consider how "close" all the programs are at the top of the list, any
edge at all
is significant.



>
>From previous threads, I understand a programmer's desire to make his/her chess
>engine software "portable," and understand that this entails taking a hit in
>performance.  But when comparing compilers, it's not so clear to me why one
>compiler should be so much better than another.
>



See the above.


>Again, please forgive me for my ignorance regarding operating systems and
>compilers.  I am a chess software USER and not a chess software developer.
>
>Bob D.
>
>
>
>
>>If you download
>>Intel's C++
>>compiler version 6.0, it is closer to MSVC than any other linux compiler I have
>>tried, but
>>MSVC _still_ has an edge.
>>
>>In that regard, windows would be a faster choice.  But not because of the O/S,
>>but because
>>it simply has a better compiler that produces faster executable code.
>>
>>for a match, use xboard, -mm to enable match mode, -mg x to play x games in the
>>match,
>>then use the -fh and -sh to choose the "host computers" for the two crafty
>>executables.  If
>>you omit -fh, then one will run on the machine you run xboard on...



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.