diff options
author | ihm-tswow <76849026+ihm-tswow@users.noreply.github.com> | 2022-09-27 12:35:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-27 12:35:45 +0200 |
commit | ee6bbd68bd0eaa3675099765a3e74cbb58cc2f1d (patch) | |
tree | 5c06a9eb0a99a75cf0c25755470c3008d0b353f1 /src | |
parent | 2d027e56ad3d4531300559e46151153032e7e63d (diff) |
Core/Guilds: Improve HandleRoster performance (#28290)
- takes call time from ~400 microseconds to ~260 microseconds on my machine in a guild with 900 members
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Guilds/Guild.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 01d1bfc3ae4..717fe0e4505 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -1235,6 +1235,7 @@ void Guild::HandleRoster(WorldSession* session) { WorldPackets::Guild::GuildRoster roster; + roster.RankData.reserve(m_ranks.size()); for (RankInfo const& rank : m_ranks) { WorldPackets::Guild::GuildRankData& rankData = roster.RankData.emplace_back(); @@ -1249,6 +1250,7 @@ void Guild::HandleRoster(WorldSession* session) } bool sendOfficerNote = _HasRankRight(session->GetPlayer(), GR_RIGHT_VIEWOFFNOTE); + roster.MemberData.reserve(m_members.size()); for (auto const& [guid, member] : m_members) { WorldPackets::Guild::GuildRosterMemberData& memberData = roster.MemberData.emplace_back(); |