Author: Bob Durrett
Date: 12:14:09 11/11/02
Go up one level in this thread
On November 11, 2002 at 15:02:51, Scott Gasch wrote: >>If that is the essence of it, then my original question needs to be modified. >>Perhaps the $1,000,000 someone gave to the GURU Chess Programmer had to be not >>just for development of a new operating system but also development of a new >>OPTIMAL compiler for that operating system. >> >>Then the comparison would be between a chess engine compiled using the new >>optimal compiler and run using the new operating system versus the way it is >>done today. > >There are two main ways an OS can affect the speed of your program. 1. by >having slow system calls (calls the program makes that invoke kernel-mode >routines) and by having a poor scheduler / wasting time switching between jobs. > >Let's address each: 1. system calls in a chess engine are rare. Don't confuse >usermode library calls with system calls, though. printf is not a system call. >Sleep is. GlobalMemoryStatusEx is. WaitForSingleObject is. etc. So in short, >most chess _engines_ do not have very many system calls -- mostly calls to other >chess engine code or (more rarely) calls to a usermode runtime DLL. These, I >guess, are "part of the OS" too. In windows we're talking things like >kernel32.dll, ntdll.dll etc. In FreeBSD stuff like libc.so.4 etc. > >2. Even if the scheduler sucks, as long as nothing else is competing for cpu >resources your engine performance should not suffer greatly. > >There are other minor factors, like the speed of the I/O system / drivers etc. >But all in all I think the OS makes a very small impact on the performance of a >well written engine. Well, you, Russell, and Vincent have convinced me. The OS, and even the compiler, are not big killers. My interest in this topic was prompted by the discussion in a separate thread of the relative merits of Linnux and Windows. I guess the bottom line here must be that engine performance would not be the driver in selection of an operating system, or a compiler. Bob D. > >I agree with Vincent that a compiler makes more of a difference. Ignoring the >fact that $1M might not be enough, why not just skip the compiler completely and >pay someone to implement an engine in hand-tuned, optimized for the platform >assembly language? Note, isn't fritz written largely in assembly language >anyway? > >Scott
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.