Author: Larry Griffiths
Date: 09:30:21 01/21/01
Go up one level in this thread
On January 20, 2001 at 14:13:47, Paul wrote: >On January 19, 2001 at 21:52:10, Larry Griffiths wrote: > >>I also like the VCL, Paul. I have resorted to using #defines a lot and writing >>inline assembler whenever possible. I have been using a lot of MMX instructions >>lately and my program may only run on Pentium II or higher machines in the near >>future. > >Hi Larry ... > >Yes, I remember having seen you post some asm #defines last year, right? >So, basically, you're the missing optimizing part of the BCB compiler :) 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. >Maybe you should offer your services to Borland ;) Also you are one of very >few using MMX instructions, I believe, haven't seen much of that here! > 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. >I have to admit that I've not yet used any asm within BCB, for a couple >of reasons. For one, I use old GNU style move generation, and the 64bit >bitboards that you use lend themselves better for asm. > >Secondly, I don't like programming assembler on the Pentium, mainly because >the number of different instructions is so huge, and the number of registers >is so low! I did program in assembler ~10 years ago on the ARM processor, >now that was an architecture I liked! No more than 10 instructions and 16 >32bit registers. Maybe Ed (of Rebel fame) would agree with me :) I wish >they would scale up the current StrongARM to >1GHz and make it 64 bits; I >would start with bitboards immediately :) WinCE already runs on it, >I believe. I really liked the IBM 370 instruction set. It has 16 registers and was very logically designed. > >What does your program look like: did you build a GUI with BCB5 around >your engine or is the engine integrated in the GUI .exe like mine? I do >have a separate engine class, but it's all in one program. > 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. >I still have to make mine WinBoard compatible, but am not sure how to do >that. Mainly use it for analysis, not for playing games ... > >Groetjes, >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.