eeschema connectivity - Adjust performance in init
This allow single init for map structures, improving first-run performance.
This commit is contained in:
parent
2048114512
commit
9ef442b3a3
|
@ -653,7 +653,7 @@ void CONNECTION_GRAPH::buildConnectionGraph()
|
||||||
|
|
||||||
// We don't want to spin up a new thread for fewer than 8 nets (overhead costs)
|
// We don't want to spin up a new thread for fewer than 8 nets (overhead costs)
|
||||||
size_t parallelThreadCount = std::min<size_t>( std::thread::hardware_concurrency(),
|
size_t parallelThreadCount = std::min<size_t>( std::thread::hardware_concurrency(),
|
||||||
( m_subgraphs.size() + 7 ) / 8 );
|
( m_subgraphs.size() + 3 ) / 4 );
|
||||||
|
|
||||||
std::atomic<size_t> nextSubgraph( 0 );
|
std::atomic<size_t> nextSubgraph( 0 );
|
||||||
std::vector<std::future<size_t>> returns( parallelThreadCount );
|
std::vector<std::future<size_t>> returns( parallelThreadCount );
|
||||||
|
|
|
@ -81,7 +81,7 @@ void SCH_ITEM::ViewGetLayers( int aLayers[], int& aCount ) const
|
||||||
|
|
||||||
bool SCH_ITEM::IsConnected( const wxPoint& aPosition ) const
|
bool SCH_ITEM::IsConnected( const wxPoint& aPosition ) const
|
||||||
{
|
{
|
||||||
if( m_Flags & STRUCT_DELETED || m_Flags & SKIP_STRUCT )
|
if( ( m_Flags & STRUCT_DELETED ) || ( m_Flags & SKIP_STRUCT ) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return doIsConnected( aPosition );
|
return doIsConnected( aPosition );
|
||||||
|
@ -90,18 +90,14 @@ bool SCH_ITEM::IsConnected( const wxPoint& aPosition ) const
|
||||||
|
|
||||||
SCH_CONNECTION* SCH_ITEM::Connection( const SCH_SHEET_PATH& aSheet ) const
|
SCH_CONNECTION* SCH_ITEM::Connection( const SCH_SHEET_PATH& aSheet ) const
|
||||||
{
|
{
|
||||||
SCH_CONNECTION* conn = nullptr;
|
try
|
||||||
|
|
||||||
if( m_connection_map.count( aSheet ) )
|
|
||||||
{
|
{
|
||||||
conn = m_connection_map.at( aSheet );
|
return m_connection_map.at( aSheet );
|
||||||
}
|
}
|
||||||
else
|
catch( ... )
|
||||||
{
|
{
|
||||||
// TODO(JE) should we just call InitializeConnection here?
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
return conn;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue