Computer Chess Club Archives


Search

Terms

Messages

Subject: SPEED !!! help a novice chess programmer =)

Author: Adriano Bedeschi de Souza

Date: 19:39:12 06/17/02


WOW, whats wrong with my rotates?

BitBoard rotate45Right(BitBoard *board) {

    int square;
    BitBoard rotated45Right = 0;

    for(square = 0; square < 64; square++) {
        if((*board) & mask[square]) {
            rotated45Right |= mask[rotated45Right_map[square]];
        }
    }
    return rotated45Right;
}


####### GPROF #######

Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total
 time   seconds   seconds    calls  Ts/call  Ts/call  name
 26.85      7.65     7.65                             rotate45Right
 24.68     14.68     7.03                             rotate90Right
 23.52     21.38     6.70                             rotate45Left
  4.46     22.65     1.27                             bishopMoves
  4.42     23.91     1.26                             mcount
  3.65     24.95     1.04                             numAttackers
  2.63     25.70     0.75                             rookMoves
  1.47     26.12     0.42                             search
  1.44     26.53     0.41                             LSB
  1.44     26.94     0.41                             probeHash
  1.37     27.33     0.39                             makeMove
  1.12     27.65     0.32                             evaluate
  0.56     27.81     0.16                             takeBack
  0.42     27.93     0.12                             isInCheck
  0.39     28.04     0.11                             count
  0.21     28.10     0.06                             rotate90Left
  0.14     28.14     0.04                             __umoddi3
  0.14     28.18     0.04                             generateWhiteKingCaptures
  0.14     28.22     0.04                             initializeGeneralBoards
  0.14     28.26     0.04                             popMoveBack
  0.11     28.29     0.03                             popMove
  0.07     28.31     0.02                             generateBlackPawnCaptures
  0.07     28.33     0.02                             generateBlackQueenCaptures
  0.07     28.35     0.02
generateWhiteKingNonCaptures
  0.07     28.37     0.02                             pow
  0.07     28.39     0.02                             pushMove
  0.07     28.41     0.02                             rotateBack45Left
  0.04     28.42     0.01                             cleanMoveStack
  0.04     28.43     0.01
generateBlackBishopCaptures
  0.04     28.44     0.01
generateBlackKnightCaptures
  0.04     28.45     0.01
generateWhiteKnightNonCaptures
  0.04     28.46     0.01                             generateWhitePawnCaptures
  0.04     28.47     0.01                             initializeZobrist
  0.04     28.48     0.01                             isEmptyMoveStack
  0.04     28.49     0.01                             pushMoveBack

			Call graph


granularity: each sample hit covers 4 byte(s) for 0.04% of 27.23 seconds

index % time    self  children    called     name
                                                 <spontaneous>
[1]     28.1    7.65    0.00                 rotate45Right [1]
-----------------------------------------------
                                                 <spontaneous>
[2]     25.8    7.03    0.00                 rotate90Right [2]
-----------------------------------------------
                                                 <spontaneous>
[3]     24.6    6.70    0.00                 rotate45Left [3]
-----------------------------------------------
                             5026006             bishopMoves [4]
[4]      4.7    1.27    0.00       0+5026006 bishopMoves [4]
                             5026006             bishopMoves [4]
-----------------------------------------------
                             4634920             numAttackers [5]
[5]      3.8    1.04    0.00       0+4634920 numAttackers [5]
                             4634920             numAttackers [5]
-----------------------------------------------
                             2512069             rookMoves [6]
[6]      2.8    0.75    0.00       0+2512069 rookMoves [6]
                             2512069             rookMoves [6]
-----------------------------------------------
                              738391             search [7]
[7]      1.5    0.42    0.00       0+738391  search [7]
                              738391             search [7]
-----------------------------------------------
                                                 <spontaneous>
[8]      1.5    0.41    0.00                 LSB [8]
-----------------------------------------------
                                                 <spontaneous>
[9]      1.5    0.41    0.00                 probeHash [9]
-----------------------------------------------
                              169821             makeMove [10]
[10]     1.4    0.39    0.00       0+169821  makeMove [10]
                              169821             makeMove [10]
-----------------------------------------------
                             1140200             evaluate [11]
[11]     1.2    0.32    0.00       0+1140200 evaluate [11]
                             1140200             evaluate [11]
-----------------------------------------------
                               84614             takeBack [12]
[12]     0.6    0.16    0.00       0+84614   takeBack [12]
                               84614             takeBack [12]
-----------------------------------------------
                              337054             isInCheck [13]
[13]     0.4    0.12    0.00       0+337054  isInCheck [13]
                              337054             isInCheck [13]
-----------------------------------------------
                                                 <spontaneous>
[14]     0.4    0.11    0.00                 count [14]
-----------------------------------------------
                                                 <spontaneous>
[15]     0.2    0.06    0.00                 rotate90Left [15]
-----------------------------------------------
                                                 <spontaneous>
[16]     0.1    0.04    0.00                 __umoddi3 [16]
-----------------------------------------------
                                6646             generateWhiteKingCaptures [17]
[17]     0.1    0.04    0.00       0+6646    generateWhiteKingCaptures [17]
                                6646             generateWhiteKingCaptures [17]
-----------------------------------------------
                               83152             initializeGeneralBoards [18]
[18]     0.1    0.04    0.00       0+83152   initializeGeneralBoards [18]
                               83152             initializeGeneralBoards [18]
-----------------------------------------------
                                                 <spontaneous>
[19]     0.1    0.04    0.00                 popMoveBack [19]
-----------------------------------------------
                                                 <spontaneous>
[20]     0.1    0.03    0.00                 popMove [20]
-----------------------------------------------
                                2158             generateBlackPawnCaptures [21]
[21]     0.1    0.02    0.00       0+2158    generateBlackPawnCaptures [21]
                                2158             generateBlackPawnCaptures [21]
-----------------------------------------------
                               12206             generateBlackQueenCaptures [22]
[22]     0.1    0.02    0.00       0+12206   generateBlackQueenCaptures [22]
                               12206             generateBlackQueenCaptures [22]
-----------------------------------------------
                               16354             generateWhiteKingNonCaptures
[23]
[23]     0.1    0.02    0.00       0+16354   generateWhiteKingNonCaptures [23]
                               16354             generateWhiteKingNonCaptures
[23]
-----------------------------------------------
                                                 <spontaneous>
[24]     0.1    0.02    0.00                 pow [24]
-----------------------------------------------
                                                 <spontaneous>
[25]     0.1    0.02    0.00                 pushMove [25]
-----------------------------------------------
                                                 <spontaneous>
[26]     0.1    0.02    0.00                 rotateBack45Left [26]
-----------------------------------------------
                                                 <spontaneous>
[27]     0.0    0.01    0.00                 cleanMoveStack [27]
-----------------------------------------------
                               16134             generateBlackBishopCaptures
[28]
[28]     0.0    0.01    0.00       0+16134   generateBlackBishopCaptures [28]
                               16134             generateBlackBishopCaptures
[28]
-----------------------------------------------
                                8087             generateBlackKnightCaptures
[29]
[29]     0.0    0.01    0.00       0+8087    generateBlackKnightCaptures [29]
                                8087             generateBlackKnightCaptures
[29]
-----------------------------------------------
                               70848             generateWhiteKnightNonCaptures
[30]
[30]     0.0    0.01    0.00       0+70848   generateWhiteKnightNonCaptures [30]
                               70848             generateWhiteKnightNonCaptures
[30]
-----------------------------------------------
                                2424             generateWhitePawnCaptures [31]
[31]     0.0    0.01    0.00       0+2424    generateWhitePawnCaptures [31]
                                2424             generateWhitePawnCaptures [31]
-----------------------------------------------
                                1537             initializeZobrist [32]
[32]     0.0    0.01    0.00       0+1537    initializeZobrist [32]
                                1537             initializeZobrist [32]
-----------------------------------------------
                                                 <spontaneous>
[33]     0.0    0.01    0.00                 isEmptyMoveStack [33]
-----------------------------------------------
                                                 <spontaneous>
[34]     0.0    0.01    0.00                 pushMoveBack [34]
-----------------------------------------------
                                   6             checkResult [89]
[89]     0.0    0.00    0.00       0+6       checkResult [89]
                                   6             checkResult [89]
-----------------------------------------------
                                   4             generateBlackBishopMoves [105]
[105]    0.0    0.00    0.00       0+4       generateBlackBishopMoves [105]
                                   4             generateBlackBishopMoves [105]
-----------------------------------------------
                               26924             generateBlackBishopNonCaptures
[106]
[106]    0.0    0.00    0.00       0+26924   generateBlackBishopNonCaptures
[106]
                               26924             generateBlackBishopNonCaptures
[106]
-----------------------------------------------
                               23760             generateBlackCaptures [107]
[107]    0.0    0.00    0.00       0+23760   generateBlackCaptures [107]
                               23760             generateBlackCaptures [107]
-----------------------------------------------
                                3960             generateBlackKingCaptures [108]
[108]    0.0    0.00    0.00       0+3960    generateBlackKingCaptures [108]
                                3960             generateBlackKingCaptures [108]
-----------------------------------------------
                                   1             generateBlackKingMoves [109]
[109]    0.0    0.00    0.00       0+1       generateBlackKingMoves [109]
                                   1             generateBlackKingMoves [109]
-----------------------------------------------
                                6010             generateBlackKingNonCaptures
[110]
[110]    0.0    0.00    0.00       0+6010    generateBlackKingNonCaptures [110]
                                6010             generateBlackKingNonCaptures
[110]
-----------------------------------------------
                                  10             generateBlackKnightMoves [111]
[111]    0.0    0.00    0.00       0+10      generateBlackKnightMoves [111]
                                  10             generateBlackKnightMoves [111]
-----------------------------------------------
                               41529             generateBlackKnightNonCaptures
[112]
[112]    0.0    0.00    0.00       0+41529   generateBlackKnightNonCaptures
[112]
                               41529             generateBlackKnightNonCaptures
[112]
-----------------------------------------------
                                   7             generateBlackMoves [113]
[113]    0.0    0.00    0.00       0+7       generateBlackMoves [113]
                                   7             generateBlackMoves [113]
-----------------------------------------------
                               23760             generateBlackNonCaptures [114]
[114]    0.0    0.00    0.00       0+23760   generateBlackNonCaptures [114]
                               23760             generateBlackNonCaptures [114]
-----------------------------------------------
                              112800             generateBlackPawnMoves [115]
[115]    0.0    0.00    0.00       0+112800  generateBlackPawnMoves [115]
                              112800             generateBlackPawnMoves [115]
-----------------------------------------------
                                   3             generateBlackQueenMoves [116]
[116]    0.0    0.00    0.00       0+3       generateBlackQueenMoves [116]
                                   3             generateBlackQueenMoves [116]
-----------------------------------------------
                               22224             generateBlackQueenNonCaptures
[117]
[117]    0.0    0.00    0.00       0+22224   generateBlackQueenNonCaptures [117]
                               22224             generateBlackQueenNonCaptures
[117]
-----------------------------------------------
                               15978             generateBlackRookCaptures [118]
[118]    0.0    0.00    0.00       0+15978   generateBlackRookCaptures [118]
                               15978             generateBlackRookCaptures [118]
-----------------------------------------------
                                   4             generateBlackRookMoves [119]
[119]    0.0    0.00    0.00       0+4       generateBlackRookMoves [119]
                                   4             generateBlackRookMoves [119]
-----------------------------------------------
                               23656             generateBlackRookNonCaptures
[120]
[120]    0.0    0.00    0.00       0+23656   generateBlackRookNonCaptures [120]
                               23656             generateBlackRookNonCaptures
[120]
-----------------------------------------------
                               27880             generateWhiteBishopCaptures
[121]
[121]    0.0    0.00    0.00       0+27880   generateWhiteBishopCaptures [121]
                               27880             generateWhiteBishopCaptures
[121]
-----------------------------------------------
                               57832             generateWhiteBishopNonCaptures
[123]
[123]    0.0    0.00    0.00       0+57832   generateWhiteBishopNonCaptures
[123]
                               57832             generateWhiteBishopNonCaptures
[123]
-----------------------------------------------
                               39876             generateWhiteCaptures [124]
[124]    0.0    0.00    0.00       0+39876   generateWhiteCaptures [124]
                               39876             generateWhiteCaptures [124]
-----------------------------------------------
                               13522             generateWhiteKnightCaptures
[126]
[126]    0.0    0.00    0.00       0+13522   generateWhiteKnightCaptures [126]
                               13522             generateWhiteKnightCaptures
[126]
-----------------------------------------------
                               39876             generateWhiteNonCaptures [129]
[129]    0.0    0.00    0.00       0+39876   generateWhiteNonCaptures [129]
                               39876             generateWhiteNonCaptures [129]
-----------------------------------------------
                              184366             generateWhitePawnMoves [130]
[130]    0.0    0.00    0.00       0+184366  generateWhitePawnMoves [130]
                              184366             generateWhitePawnMoves [130]
-----------------------------------------------
                               25367             generateWhiteQueenCaptures
[131]
[131]    0.0    0.00    0.00       0+25367   generateWhiteQueenCaptures [131]
                               25367             generateWhiteQueenCaptures
[131]
-----------------------------------------------
                               80383             generateWhiteQueenNonCaptures
[133]
[133]    0.0    0.00    0.00       0+80383   generateWhiteQueenNonCaptures [133]
                               80383             generateWhiteQueenNonCaptures
[133]
-----------------------------------------------
                               26728             generateWhiteRookCaptures [134]
[134]    0.0    0.00    0.00       0+26728   generateWhiteRookCaptures [134]
                               26728             generateWhiteRookCaptures [134]
-----------------------------------------------
                               36464             generateWhiteRookNonCaptures
[136]
[136]    0.0    0.00    0.00       0+36464   generateWhiteRookNonCaptures [136]
                               36464             generateWhiteRookNonCaptures
[136]
-----------------------------------------------
                                  12             main [145]
[145]    0.0    0.00    0.00       0+12      main [145]
                                  12             main [145]
-----------------------------------------------
                                  31             think [178]
[178]    0.0    0.00    0.00       0+31      think [178]
                                  31             think [178]
-----------------------------------------------

Index by function name

   [8] LSB                    [30] generateWhiteKnightNonCaptures [9] probeHash
  [16] __umoddi3              [31] generateWhitePawnCaptures [25] pushMove
   [4] bishopMoves            [18] initializeGeneralBoards [34] pushMoveBack
  [27] cleanMoveStack         [32] initializeZobrist       [6] rookMoves
  [14] count                  [33] isEmptyMoveStack        [3] rotate45Left
  [11] evaluate               [13] isInCheck               [1] rotate45Right
  [28] generateBlackBishopCaptures [10] makeMove          [15] rotate90Left
  [29] generateBlackKnightCaptures (148) mcount            [2] rotate90Right
  [21] generateBlackPawnCaptures [5] numAttackers         [26] rotateBack45Left
  [22] generateBlackQueenCaptures [20] popMove             [7] search
  [17] generateWhiteKingCaptures [19] popMoveBack         [12] takeBack
  [23] generateWhiteKingNonCaptures [24] pow



This page took 0.01 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.