fix(Core/Guilds): Improve HandleRoster performance (#15421)
* cherry-pick commit ee6bbd68bd
* takes call time from ~400 microseconds to ~260 microseconds on my machine in a guild with 900 members
Co-authored-by: ihm-tswow <76849026+ihm-tswow@users.noreply.github.com>
This commit is contained in:
parent
f80fb9b482
commit
29d79e080f
1 changed files with 2 additions and 0 deletions
|
|
@ -1201,6 +1201,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();
|
||||
|
|
@ -1215,6 +1216,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();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue