aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoroldmud0 <oldmud0@users.noreply.github.com>2021-06-06 23:42:51 -0500
committeroldmud0 <oldmud0@users.noreply.github.com>2021-06-06 23:42:51 -0500
commit7cbd343ce9647d2ae73e947b300bdcdd67828058 (patch)
treeca2d3227f9f92da33d924080464a7b15937dff1f /src
parentb0a0926d3513e3cfa6c55f0e561624b5280017c0 (diff)
Fix excess calls to arup_append
According to profiling results, arup_append was being called around 90k times (!!) because it had been placed in the inner for loop. That's (tracks * areas)^2. Yikes!
Diffstat (limited to 'src')
-rw-r--r--src/packet_distribution.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/packet_distribution.cpp b/src/packet_distribution.cpp
index dfe28f40..bcbc6671 100644
--- a/src/packet_distribution.cpp
+++ b/src/packet_distribution.cpp
@@ -405,10 +405,6 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
}
}
- for (int area_n = 0; area_n < areas; area_n++) {
- w_courtroom->arup_append(0, "Unknown", "Unknown", "Unknown");
- }
-
int total_loading_size =
char_list_size * 2 + evidence_list_size + music_list_size;
int loading_value = int(
@@ -418,6 +414,10 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
w_lobby->set_loading_value(loading_value);
}
+ for (int area_n = 0; area_n < areas; area_n++) {
+ w_courtroom->arup_append(0, "Unknown", "Unknown", "Unknown");
+ }
+
send_server_packet(new AOPacket("RD#%"));
}
else if (header == "FM") // Fetch music ONLY