mirror of https://github.com/vitalif/grive2
std::vector::erase is expensive; use std::list:erase instead
erasing from a vector at random is very expensive. std::list however is made for that purpose!pull/54/head
parent
c647c5f89f
commit
b49a89ad34
|
@ -172,9 +172,9 @@ std::size_t State::TryResolveEntry()
|
|||
assert( !m_unresolved.empty() ) ;
|
||||
|
||||
std::size_t count = 0 ;
|
||||
std::vector<Entry>& en = m_unresolved ;
|
||||
|
||||
for ( std::vector<Entry>::iterator i = en.begin() ; i != en.end() ; )
|
||||
std::list<Entry>& en = m_unresolved ;
|
||||
|
||||
for ( std::list<Entry>::iterator i = en.begin() ; i != en.end() ; )
|
||||
{
|
||||
if ( Update( *i ) )
|
||||
{
|
||||
|
|
|
@ -79,7 +79,7 @@ private :
|
|||
Val m_st ;
|
||||
bool m_force ;
|
||||
|
||||
std::vector<Entry> m_unresolved ;
|
||||
std::list<Entry> m_unresolved ;
|
||||
} ;
|
||||
|
||||
} // end of namespace gr
|
||||
|
|
Loading…
Reference in New Issue