Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: oops

Author: Severi Salminen

Date: 14:16:51 11/26/00

Go up one level in this thread


>The original reason was that I did this long before __int64 became available.
>
>But still, even though VC++ now supports __int64, it doesn't do it extremely
>well. Many of the operations are subroutine calls, while my BitBoard class
>inlines all its functions.

Can you say in what situations it calls a subroutine? I'm using __int64 integers
and I'd like to know if there are some bottlenecks around. I'm, however,  using
inline assembler in crucial points (finding the index of a bit and population
counting).

>Also, you can often shortcut an operation if you can decide the outcome after 32
>bits. When you AND two bitmaps to see if they overlap, and the first halves
>does, you don't have to test the second half.

I believe that makeing one AND and testing the result could be even slower or at
least equally fast than making two ANDs without any testing. But this is just
generalization and every case is individual. In your example testing after the
first AND is faster if the first AND is succesful. Have you tried how VC6++
would deal your example with __int64? I'd guess it would not test the second
part if the first test is succesful.

Severi



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.