Author: Paul
Date: 14:20:11 01/21/01
Go up one level in this thread
On January 21, 2001 at 12:30:21, Larry Griffiths wrote: >The optimizing capability of the BCB compiler sucks! My inline asm has extra >NOP instructions that do not serve any purpose other than to slow my code down. >BCB 5 has severe alignment problems when using __int64. It does not align them >to quadwords so I have to do it by hand. MMX takes bad performance hits when >the variables are not aligned on quadwords. This also applys to creating >instances of classes. I created a seperate assembler module at one time that >contained "Align" statements, but the ILINK32 seems to ignore these and aligns >everything to doubleword boundrys. Hmmm ... I didn't know BCB had alignment problems. I use int64's for hashing. Haven't noticed a big speed penalty for that, is it only a problem in combination with MMX or is it more general if I understand you right? >I seem to get a lot better performance using the MMX instructions. MMX >registers cannot be tested for values since they don't set conditions codes. I >could increase performance if this was available. They also force the >destinations to be a MMX register, so you have to load a register, perform an >operation, then store it. This is also a performance hit. But in return you've got a lot more registers too play with right? But if you can't test on conditions their use must be very limited? Just And/Or etc? >I really liked the IBM 370 instruction set. It has 16 registers and was very >logically designed. Right, that's what I like, not these incomprehensible Intel chips :) I think I'm not gonna study assembler any time soon. So no bitboards for me! I do want to change my GNU style movegen to the 0x88 one soon. Only don't like the fact that ao the history array gets a lot bigger that way. >I used to have a GUI in the previous version, but I re-wrote it to use >full-blown bitboards so my old GUI is broken right now. I have created several >classes in my program and interfaced to Winboard so I could play against other >programs without having to use the mouse. Yeah, I'm in the process of making the GUI independent of the Engine. That way I can load different engines into my GUI without problems. Makes it easier to try out new ideas. I looked at the way TSCP communicates with WinBoard, and that's through the use of printf/fgets on stdout/in, but am not sure if that works from a GUI exe; will just have to try I guess, or do you know? Paul
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.