Avoid copying of pieceToChar string
authorFabian Fichter <ianfab@users.noreply.github.com>
Tue, 12 Nov 2019 22:53:09 +0000 (23:53 +0100)
committerFabian Fichter <ianfab@users.noreply.github.com>
Tue, 12 Nov 2019 22:53:09 +0000 (23:53 +0100)
Small speed-up by using references.

src/position.h

index d4e978c..67a98d2 100644 (file)
@@ -98,8 +98,8 @@ public:
   Bitboard board_bb() const;
   Bitboard board_bb(Color c, PieceType pt) const;
   const std::set<PieceType>& piece_types() const;
-  const std::string piece_to_char() const;
-  const std::string piece_to_char_synonyms() const;
+  const std::string& piece_to_char() const;
+  const std::string& piece_to_char_synonyms() const;
   Rank promotion_rank() const;
   const std::set<PieceType, std::greater<PieceType> >& promotion_piece_types() const;
   bool sittuyin_promotion() const;
@@ -331,12 +331,12 @@ inline const std::set<PieceType>& Position::piece_types() const {
   return var->pieceTypes;
 }
 
-inline const std::string Position::piece_to_char() const {
+inline const std::string& Position::piece_to_char() const {
   assert(var != nullptr);
   return var->pieceToChar;
 }
 
-inline const std::string Position::piece_to_char_synonyms() const {
+inline const std::string& Position::piece_to_char_synonyms() const {
   assert(var != nullptr);
   return var->pieceToCharSynonyms;
 }