Skip to content

Commit 1df46e0

Browse files
committed
perf(namekey): Remove all superfluous AsciiString allocations for name key lookups
1 parent 0410990 commit 1df46e0

File tree

97 files changed

+335
-366
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+335
-366
lines changed

Core/GameEngine/Source/Common/System/Xfer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -791,7 +791,7 @@ void Xfer::xferUpgradeMask( UpgradeMaskType *upgradeMaskData )
791791
xferAsciiString( &upgradeName );
792792

793793
// find this upgrade template
794-
upgradeTemplate = TheUpgradeCenter->findUpgrade( upgradeName );
794+
upgradeTemplate = TheUpgradeCenter->findUpgrade( upgradeName.str() );
795795
if( upgradeTemplate == NULL )
796796
{
797797

Core/GameEngine/Source/GameNetwork/ConnectionManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -648,7 +648,7 @@ void ConnectionManager::processChat(NetChatCommandMsg *msg)
648648

649649
AsciiString playerName;
650650
playerName.format("player%d", msg->getPlayerID());
651-
const Player *player = ThePlayerList->findPlayerWithNameKey( TheNameKeyGenerator->nameToKey( playerName ) );
651+
const Player *player = ThePlayerList->findPlayerWithNameKey( TheNameKeyGenerator->nameToKey( playerName.str() ) );
652652
if (!player)
653653
{
654654
TheInGameUI->message(L"%ls", unitext.str());

Core/GameEngine/Source/GameNetwork/GameSpy/StagingRoomGameInfo.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -602,7 +602,7 @@ AsciiString GameSpyStagingRoom::generateGameSpyGameResultsPacket( void )
602602
{
603603
AsciiString playerName;
604604
playerName.format("player%d", i);
605-
Player *p = ThePlayerList->findPlayerWithNameKey(NAMEKEY(playerName));
605+
Player *p = ThePlayerList->findPlayerWithNameKey(NAMEKEY(playerName.str()));
606606
if (p)
607607
{
608608
++numHumans;
@@ -648,7 +648,7 @@ AsciiString GameSpyStagingRoom::generateGameSpyGameResultsPacket( void )
648648
{
649649
AsciiString playerName;
650650
playerName.format("player%d", i);
651-
Player *p = ThePlayerList->findPlayerWithNameKey(NAMEKEY(playerName));
651+
Player *p = ThePlayerList->findPlayerWithNameKey(NAMEKEY(playerName.str()));
652652
if (p)
653653
{
654654
GameSpyGameSlot *slot = &(m_GameSpySlot[i]);
@@ -696,7 +696,7 @@ AsciiString GameSpyStagingRoom::generateLadderGameResultsPacket( void )
696696
{
697697
AsciiString playerName;
698698
playerName.format("player%d", i);
699-
p[i] = ThePlayerList->findPlayerWithNameKey(NAMEKEY(playerName));
699+
p[i] = ThePlayerList->findPlayerWithNameKey(NAMEKEY(playerName.str()));
700700
if (p[i])
701701
{
702702
++numPlayers;

Core/GameEngine/Source/GameNetwork/NetCommandMsg.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ GameMessage *NetGameCommandMsg::constructGameMessage()
167167

168168
AsciiString name;
169169
name.format("player%d", getPlayerID());
170-
retval->friend_setPlayerIndex( ThePlayerList->findPlayerWithNameKey(TheNameKeyGenerator->nameToKey(name))->getPlayerIndex());
170+
retval->friend_setPlayerIndex( ThePlayerList->findPlayerWithNameKey(TheNameKeyGenerator->nameToKey(name.str()))->getPlayerIndex());
171171

172172
GameMessageArgument *arg = m_argList;
173173
while (arg != NULL) {

Core/GameEngine/Source/GameNetwork/Network.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,7 @@ void Network::processDestroyPlayerCommand(NetDestroyPlayerCommandMsg *msg)
661661

662662
AsciiString playerName;
663663
playerName.format("player%d", playerIndex);
664-
Player *pPlayer = ThePlayerList->findPlayerWithNameKey(NAMEKEY(playerName));
664+
Player *pPlayer = ThePlayerList->findPlayerWithNameKey(NAMEKEY(playerName.str()));
665665
if (pPlayer)
666666
{
667667
GameMessage *msg = newInstance(GameMessage)(GameMessage::MSG_SELF_DESTRUCT);

GeneralsMD/Code/GameEngine/Include/Common/DamageFX.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ class DamageFXStore : public SubsystemInterface
147147
/**
148148
Find the DamageFX with the given name. If no such DamageFX exists, return null.
149149
*/
150-
const DamageFX *findDamageFX( AsciiString name ) const;
150+
const DamageFX *findDamageFX( const char* name ) const;
151151

152152
static void parseDamageFXDefinition(INI* ini);
153153

GeneralsMD/Code/GameEngine/Include/Common/NameKeyGenerator.h

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,6 @@ class NameKeyGenerator : public SubsystemInterface
9191
virtual void reset();
9292
virtual void update() { }
9393

94-
/// Given a string, convert into a unique integer key.
95-
NameKeyType nameToKey(const AsciiString& name) { return nameToKey(name.str()); }
96-
NameKeyType nameToLowercaseKey(const AsciiString& name) { return nameToLowercaseKey(name.str()); }
97-
9894
/// Given a string, convert into a unique integer key.
9995
NameKeyType nameToKey(const char* name);
10096
NameKeyType nameToLowercaseKey(const char *name);
@@ -138,7 +134,7 @@ class NameKeyGenerator : public SubsystemInterface
138134
extern NameKeyGenerator *TheNameKeyGenerator; ///< just one namespace for now
139135

140136
// typing "TheNameKeyGenerator->nameToKey()" is awfully wordy. Here are shorter synonyms:
141-
inline NameKeyType NAMEKEY(const AsciiString& name) { return TheNameKeyGenerator->nameToKey(name); }
137+
142138
inline NameKeyType NAMEKEY(const char* name) { return TheNameKeyGenerator->nameToKey(name); }
143139

144140
inline AsciiString KEYNAME(NameKeyType nk) { return TheNameKeyGenerator->keyToName(nk); }

GeneralsMD/Code/GameEngine/Include/Common/Upgrade.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ class UpgradeCenter : public SubsystemInterface
237237

238238
UpgradeTemplate *firstUpgradeTemplate( void ); ///< return the first upgrade template
239239
const UpgradeTemplate *findUpgradeByKey( NameKeyType key ) const; ///< find upgrade by name key
240-
const UpgradeTemplate *findUpgrade( const AsciiString& name ) const; ///< find and return upgrade by name
240+
const UpgradeTemplate *findUpgrade( const char* name ) const; ///< find and return upgrade by name
241241
const UpgradeTemplate *findVeterancyUpgrade(VeterancyLevel level) const; ///< find and return upgrade by name
242242

243243
UpgradeTemplate *newUpgrade( const AsciiString& name ); ///< allocate, link, and return new upgrade

GeneralsMD/Code/GameEngine/Include/GameClient/Image.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ class ImageCollection : public SubsystemInterface
128128

129129
void load( Int textureSize ); ///< load images
130130

131-
const Image *findImageByName( const AsciiString& name ); ///< find image based on name
131+
const Image *findImageByName( const char* name ) const; ///< find image based on name
132132

133133
/// adds the given image to the collection, transfers ownership to this object
134134
void addImage(Image *image);

GeneralsMD/Code/GameEngine/Include/GameLogic/Armor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ class ArmorStore : public SubsystemInterface
108108
/**
109109
Find the Armor with the given name. If no such Armor exists, return null.
110110
*/
111-
const ArmorTemplate* findArmorTemplate(AsciiString name) const;
111+
const ArmorTemplate* findArmorTemplate(const char* name) const;
112112

113113
inline Armor makeArmor(const ArmorTemplate *tmpl) const
114114
{

0 commit comments

Comments
 (0)