Author: Robert Hyatt
Date: 10:02:24 12/13/03
Go up one level in this thread
On December 13, 2003 at 11:45:03, Omid David Tabibi wrote:
>On December 12, 2003 at 22:24:23, Robert Hyatt wrote:
>
>>On December 12, 2003 at 17:34:32, Omid David Tabibi wrote:
>>
>>>On December 12, 2003 at 16:52:12, Robert Hyatt wrote:
>>>
>>>>On December 12, 2003 at 15:29:55, Omid David Tabibi wrote:
>>>>
>>>>>On December 12, 2003 at 13:49:35, Robert Hyatt wrote:
>>>>>
>>>>>>On December 12, 2003 at 13:40:07, Will Singleton wrote:
>>>>>>
>>>>>>>Here's a position from a recent game, this one gives Amateur fits.
>>>>>>>How long to see black is busted?
>>>>>>>
>>>>>>>[d]4rr2/1b3p1k/pp5p/2b1pQ2/q7/P2R2B1/1PP3PP/2KR4 b - -
>>>>>>
>>>>>>
>>>>>>For Crafty, the bottom begins to fall out at 6 seconds or so,
>>>>>
>>>>>What do you mean by 6 seconds??? 6 seconds on a 100 MHz machine is fantastic,
>>>>>but it is horrible on the fastest quad....
>>>>>
>>>>>I can't agree more with Christophe about this. PLEASE ADD HARDWARE INFO!
>>>>>
>>>>
>>>>Sorry. It is horrible. It was on a quad 1.8ghz opteron. :)
>>>>
>>>>I figured that was obvious since that is all I have been posting here
>>>>the last two weeks...
>>>
>>>Why don't you print a line before each analysis, reporting the system hardware
>>>and memory?
>>>
>>>I mainly run Falcon in commandline mode, and before each analysis it prints
>>>something like:
>>
>>Not so easy on all the different systems I use. Linux is trivial. Others
>>(say solaris, OS/2, irix, hpux, etc) make this not so easy from a portability
>>issue.
>
>I also try to make my program portable to the extent possible, but I have many
>features that run only on Windows, placed in an #if defined(WIN32)...
>
>For example, Falcon can't check stdin when not running on Windows (since it uses
>PeekNamedPipe).
>
>BTW, I think getting the vendorID of the processor will not cause any
>portability issues. I do it using cpuid instruction:
>
> int str1, str2, str3;
> __asm {
> mov eax, 00h
> cpuid
> mov str1, ebx
> mov str2, edx
> mov str3, ecx
> }
> sprintf(vendorId, "%c%c%c%c%c%c%c%c%c%c%c%c",
> (str1), (str1 >> 8), (str1 >> 16), (str1 >> 24),
> (str2), (str2 >> 8), (str2 >> 16), (str2 >> 24),
> (str3), (str3 >> 8), (str3 >> 16), (str3 >> 24));
>
>
And that is going to do exactly what when run on itanium, HP-PA, MIPS,
Sparc, Cray, PPC, etc. :)
When I say portability I mean _PORTABILITY_. Not just within X86. :)
I run on _everything_.
>When running under Windows, I get the cpu_speed by:
>
> RegOpenKeyEx(HKEY_LOCAL_MACHINE,
> "Hardware\\Description\\System\\CentralProcessor\\0", 0,
> KEY_QUERY_VALUE, &hKey);
> RegQueryValueEx(hKey, "~MHz", NULL, &&mtype , (LPBYTE)&cpu_speed,
> &size);
>
>
I can do the same with linux (and others that support the /proc
filesystem) by /proc/cpuinfo. But again, that is non-portable...
>
>
>
>>
>>
>>>
>>>Falcon 0.050 running on GenuineIntel 733MHz 256MB:
>>>depth time nodes nps score variation
>>> 3/ 6 0.03 0k 7k 0.23 1.e2e4 d7d5 2.b1c3
>>> 3/ 7 0.04 0k 8k 0.27 1.d2d4 d7d5 2.c1f4
>>> 4/10 0.04 0k 13k 0.00 1.d2d4 d7d5 2.c1f4 c8f5
>>> 4/10 0.04 0k 18k 0.03 1.e2e4 g8f6 2.b1c3 e7e5
>>> 5/12 0.06 3k 53k -0.02 1.e2e4 d7d5 2.d1f3 d5e4 3.f3e4 b8c6
>>> 5/12 0.08 5k 69k 0.21 1.d2d4 e7e6 2.b1c3 f8b4 3.c1d2
>>> 6/14 0.13 12k 98k 0.00 1.d2d4 d7d5 2.b1c3 c8f5 3.c1f4 b8c6
>>> 6/14 0.21 24k 116k 0.06 1.e2e4 b8c6 2.f1c4 c6e5 3.d2d3 e5c4
>>> 4.d3c4
>>> 7/15 0.43 57k 134k 0.11 1.e2e4 d7d5 2.e4e5 b8c6 3.f1b5 c8d7
>>> 4.d2d4
>>> 7/15 0.52 71k 137k 0.23 1.d2d4 d7d5 2.b1c3 b8c6 3.c1f4 c8f5
>>> 4.g1f3
>>> 8/17 0.78 111k 142k 0.04 1.d2d4 d7d5 2.d1d3 d8d6 3.b1c3 g8f6
>>> 4.c3b5 d6c6
>>> 9/21 1.85 270k 145k 0.12 1.d2d4 d7d5 2.b1c3 c8f5 3.c1f4 g8f6
>>> 4.e2e3 b8c6 5.f1b5
>>> 9/21 2.41 346k 143k 0.15 1.e2e4 d7d5 2.e4d5 d8d5 3.b1c3 d5e5
>>> 4.d1e2 e5e2 5.f1e2 e7e5 6.c3d5 f8d6
>>>
>>>
>>>
>>>
>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>>>where
>>>>>>it begins to see it is not ahead. By 60 seconds it has failed low
>>>>>>to white a pawn up and climbing:
>>>>>>
>>>>>> 12-> 4.84 -0.69 1. ... Kg8 2. Bxe5 Bf2 3. Rd4 Rxe5
>>>>>> 4. Qxe5 Re8 5. Rd8 Bc6 6. Rxe8+ Bxe8
>>>>>> 7. Rd6 Qb5 8. Qf4 Qg5 <HT>
>>>>>> 13 6.66 -- 1. ... Kg8
>>>>>> 13 15.28 0.31 1. ... Kg8 2. Bxe5 Bf2 3. Bf6 Re2 4.
>>>>>> Rd8 Bc5 5. R8d4 Rxc2+ 6. Qxc2 Qxc2+
>>>>>> 7. Kxc2 Bxd4 8. Bxd4 Be4+ 9. Kb3 Rd8
>>>>>> 13-> 17.91 0.31 1. ... Kg8 2. Bxe5 Bf2 3. Bf6 Re2 4.
>>>>>> Rd8 Bc5 5. R8d4 Rxc2+ 6. Qxc2 Qxc2+
>>>>>> 7. Kxc2 Bxd4 8. Bxd4 Be4+ 9. Kb3 Rd8
>>>>>> 14 35.70 0.00 1. ... Kg8 2. Bxe5 Bf2 3. Bf6 Re2 4.
>>>>>> Rd8 Bh4 5. Rxf8+ Kxf8 6. Rd8+ Re8 7.
>>>>>> Rxe8+ Qxe8 8. Bxh4 Qe3+ 9. Kb1 Qg1+
>>>>>> 10. Ka2 Qxg2 11. Qf4 Qxc2 12. Qxh6+
>>>>>> 14-> 40.01 0.00 1. ... Kg8 2. Bxe5 Bf2 3. Bf6 Re2 4.
>>>>>> Rd8 Bh4 5. Rxf8+ Kxf8 6. Rd8+ Re8 7.
>>>>>> Rxe8+ Qxe8 8. Bxh4 Qe3+ 9. Kb1 Qg1+
>>>>>> 10. Ka2 Qxg2 11. Qf4 Qxc2 12. Qxh6+
>>>>>> 15 51.44 -- 1. ... Kg8
>>>>>> 15 1:30 0.98 1. ... Kg8 2. Bxe5 Bf2 3. Rd4 Rxe5
>>>>>> 4. Qxe5 Re8 5. Rg4+ Qxg4 6. Qxe8+ Kg7
>>>>>> 7. Qe5+ f6 8. Qc7+ Kg6 9. Rd7 Qg5+
>>>>>> 10. Kb1 Bxg2 11. Rg7+ Kf5 12. Rxg5+
>>>>>> hxg5
This page took 0.01 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.