diff options
author | Loic Blot <loic.blot@unix-experience.fr> | 2016-10-06 08:48:20 +0200 |
---|---|---|
committer | sfan5 <sfan5@live.de> | 2016-10-06 12:33:35 +0200 |
commit | 667975fe3adee935a3f4d2b1a421a295771c664d (patch) | |
tree | 9cbc5505b0aa528eabe103e49cbe0ff205f87527 /src/server.cpp | |
parent | 997fc59c7e29a4d2b3f19df9972f3a7d4ac894e3 (diff) | |
download | minetest-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.cpp | 8 |
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; |