Author: Larry Griffiths
Date: 18:44:46 01/30/01
Go up one level in this thread
On January 29, 2001 at 09:08:59, José Carlos wrote: > As I started to rewrite my book management code, I decide to rewrite the whole >engine in order to get more speed and being able to include new knowledge >without getting too slow. > With that idea, I tried changing my board[64] for a 0x88 move generator. Right >now, I've only written the move generator but, when I tested it to measure if >any improvement in speed, I got amazed. In this position: > >[D]rnbqkbnr/ppp2ppp/8/3pp3/3PP3/8/PPP2PPP/RNBQKBNR w KQkq d6 0 3 > > that, if I'm not wrong, is call "Vincent's test" (because Vincent Diepeveen >created it), where you have to generate all moves 2,000,000 times, I was getting >about 9,500,000 moves per second (8.5 seconds for the whole test) in my AMD >Athlon 550, with my old board[64]. > Now, with 0x88 I'm getting about 14,500,000 mps (5.5 seconds), which is a huge >improvement (I don't remember the exact numbers; it happend last night and I'm >at work right now). > My questions: > - is my new number (14,500,000 moves per second) really fast for my hardware >or I was really slow with my previous board[64]? > - does it make sense such improvement in speed for that change? > - could you please post your results in this test (and your hardware) for >your programs, so that I can compare. My hardware is a 550Mhz Pentium III xeon processor. I get 10,579,212 moves generated per second using the position you posted. My run is posted below: 1/30/2001 8:34:28 PM | This machine is MMX capable... 1/30/2001 8:34:29 PM | Hash entry size is 26 bytes... 1/30/2001 8:34:29 PM | Hash Table size is 16,777,202 bytes... 1/30/2001 8:34:32 PM | ------------------------------------------------------ 1/30/2001 8:34:32 PM | Setting up the board using the following EPD string... 1/30/2001 8:34:32 PM | 1/30/2001 8:34:32 PM | rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 1/30/2001 8:34:32 PM | 1/30/2001 8:34:32 PM | White Kingside Castleing Enabled 1/30/2001 8:34:32 PM | White Queenside Castleing Enabled 1/30/2001 8:34:32 PM | Black Kingside Castleing Enabled 1/30/2001 8:34:32 PM | Black Queenside Castleing Enabled 1/30/2001 8:34:39 PM | Bitboard Move Generations Made= 40,000,000 Bitboard Move Generations Per Second= 10,579,212 1/30/2001 8:34:59 PM | Makes/UnMakes Made= 40,000,000 Makes/UnMakes Per Second= 2,828,854 1/30/2001 8:35:38 PM | Generate/Makes/UnMakes Made= 40,000,000 Generate/Makes/UnMakes Per Second= 2,124,495 > > Tonight I'll continue with my make/unmake functions, which were my bottleneck >in Averno. I realized that the inCheck detection determined the speed of all the >program. Is there any "smart" trick for make fast in check detection with 0x88? > > Thanks in advance, > > José C.
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.