summaryrefslogtreecommitdiff
path: root/src/server.cpp
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2016-10-06 08:48:20 +0200
committersfan5 <sfan5@live.de>2016-10-06 12:33:35 +0200
commit667975fe3adee935a3f4d2b1a421a295771c664d (patch)
tree9cbc5505b0aa528eabe103e49cbe0ff205f87527 /src/server.cpp
parent997fc59c7e29a4d2b3f19df9972f3a7d4ac894e3 (diff)
downloadminetest-667975fe3adee935a3f4d2b1a421a295771c664d.tar.gz
minetest-667975fe3adee935a3f4d2b1a421a295771c664d.tar.bz2
minetest-667975fe3adee935a3f4d2b1a421a295771c664d.zip
Use more unordered_maps to improve performance in c++11 builds
Diffstat (limited to 'src/server.cpp')
-rw-r--r--src/server.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/server.cpp b/src/server.cpp
index a8494f76e..e9983ba11 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -794,7 +794,7 @@ void Server::AsyncRunStep(bool initial_step)
// Key = object id
// Value = data sent by object
- std::map<u16, std::vector<ActiveObjectMessage>* > buffered_messages;
+ UNORDERED_MAP<u16, std::vector<ActiveObjectMessage>* > buffered_messages;
// Get active object messages from environment
for(;;) {
@@ -803,7 +803,7 @@ void Server::AsyncRunStep(bool initial_step)
break;
std::vector<ActiveObjectMessage>* message_list = NULL;
- std::map<u16, std::vector<ActiveObjectMessage>* >::iterator n;
+ UNORDERED_MAP<u16, std::vector<ActiveObjectMessage>* >::iterator n;
n = buffered_messages.find(aom.id);
if (n == buffered_messages.end()) {
message_list = new std::vector<ActiveObjectMessage>;
@@ -824,7 +824,7 @@ void Server::AsyncRunStep(bool initial_step)
std::string reliable_data;
std::string unreliable_data;
// Go through all objects in message buffer
- for (std::map<u16, std::vector<ActiveObjectMessage>* >::iterator
+ for (UNORDERED_MAP<u16, std::vector<ActiveObjectMessage>* >::iterator
j = buffered_messages.begin();
j != buffered_messages.end(); ++j) {
// If object is not known by client, skip it
@@ -868,7 +868,7 @@ void Server::AsyncRunStep(bool initial_step)
m_clients.unlock();
// Clear buffered_messages
- for(std::map<u16, std::vector<ActiveObjectMessage>* >::iterator
+ for(UNORDERED_MAP<u16, std::vector<ActiveObjectMessage>* >::iterator
i = buffered_messages.begin();
i != buffered_messages.end(); ++i) {
delete i->second;