Author: Alvaro Jose Povoa Cardoso
Date: 11:47:08 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. > > 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. Could you (or someone else) please give me an overview of the basic principles of an 0x88 move generator? Sorry for this novice question. Alvaro Cardoso
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.