aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorihm-tswow <76849026+ihm-tswow@users.noreply.github.com>2022-09-27 12:35:45 +0200
committerGitHub <noreply@github.com>2022-09-27 12:35:45 +0200
commitee6bbd68bd0eaa3675099765a3e74cbb58cc2f1d (patch)
tree5c06a9eb0a99a75cf0c25755470c3008d0b353f1 /src
parent2d027e56ad3d4531300559e46151153032e7e63d (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.cpp2
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();