Core/Guilds: Improve HandleRoster performance (#28290)

- takes call time from ~400 microseconds to ~260 microseconds on my machine in a guild with 900 members
This commit is contained in:
ihm-tswow
2022-09-27 12:35:45 +02:00
committed by GitHub
parent 2d027e56ad
commit ee6bbd68bd

View File

@@ -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();