1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Performance improvement: Use std::list instead of std::vector for request_media, Server::getModNames, Environment::m_simple_objects.

* Also remove unused Server::m_modspaths
This commit is contained in:
Loic Blot 2015-03-05 10:43:08 +01:00
parent b214cde5b4
commit 365e4ae0fa
8 changed files with 16 additions and 21 deletions

View file

@ -2025,9 +2025,8 @@ ClientEnvironment::~ClientEnvironment()
delete i->second;
}
for(std::list<ClientSimpleObject*>::iterator
i = m_simple_objects.begin(); i != m_simple_objects.end(); ++i)
{
for(std::vector<ClientSimpleObject*>::iterator
i = m_simple_objects.begin(); i != m_simple_objects.end(); ++i) {
delete *i;
}
@ -2382,11 +2381,10 @@ void ClientEnvironment::step(float dtime)
Step and handle simple objects
*/
g_profiler->avg("CEnv: num of simple objects", m_simple_objects.size());
for(std::list<ClientSimpleObject*>::iterator
i = m_simple_objects.begin(); i != m_simple_objects.end();)
{
for(std::vector<ClientSimpleObject*>::iterator
i = m_simple_objects.begin(); i != m_simple_objects.end();) {
ClientSimpleObject *simple = *i;
std::list<ClientSimpleObject*>::iterator cur = i;
std::vector<ClientSimpleObject*>::iterator cur = i;
++i;
simple->step(dtime);
if(simple->m_to_be_removed){