Author: Omid David Tabibi
Date: 14:12:20 12/14/03
Go up one level in this thread
On December 13, 2003 at 13:02:24, Robert Hyatt wrote:
>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_.
But naturally you can't do everything on every platform! Then why not do some
things on some platforms? That will not hurt the portability, as it will still
run and compile on every platform. It will simply have some bonus features on
certain platforms. Something is obviously better than nothing :)
>
>
>
>>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 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.