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() ) ;
|
assert( !m_unresolved.empty() ) ;
|
||||||
|
|
||||||
std::size_t count = 0 ;
|
std::size_t count = 0 ;
|
||||||
std::vector<Entry>& en = m_unresolved ;
|
std::list<Entry>& en = m_unresolved ;
|
||||||
|
|
||||||
for ( std::vector<Entry>::iterator i = en.begin() ; i != en.end() ; )
|
for ( std::list<Entry>::iterator i = en.begin() ; i != en.end() ; )
|
||||||
{
|
{
|
||||||
if ( Update( *i ) )
|
if ( Update( *i ) )
|
||||||
{
|
{
|
||||||
|
|
|
@ -79,7 +79,7 @@ private :
|
||||||
Val m_st ;
|
Val m_st ;
|
||||||
bool m_force ;
|
bool m_force ;
|
||||||
|
|
||||||
std::vector<Entry> m_unresolved ;
|
std::list<Entry> m_unresolved ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
} // end of namespace gr
|
} // end of namespace gr
|
||||||
|
|
Loading…
Reference in New Issue