Author: Scott Gasch
Date: 12:02:51 11/11/02
Go up one level in this thread
>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. 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.