It’d probably be better if I actually attached the patch….

Attachment: 0005-Load-each-symbol-library-atomically-for-better-perfo.patch
Description: Binary data



On 24 Jan 2018, at 23:34, Jeff Young <j...@rokeby.ie> wrote:

The attached patch speeds loading the symbol libraries from the cache to near-instantaneous (down from about 1.5 seconds on my machine).

I don’t claim it’s the right patch.  Someone with more knowledge of this area should at least review it.

And I still get a hard-load (presumably a cache miss of some sort) each time I do a cmd-E.  But this at least fixes symbol placement.

Cheers,
Jeff.


On 24 Jan 2018, at 16:11, Jeff Young <j...@rokeby.ie> wrote:

I couldn’t figure out how to save a portion of the file.  Here’s a screen capture of the stack-trace:

<PastedGraphic-4.png>

On 24 Jan 2018, at 16:02, Maciej Sumiński <maciej.sumin...@cern.ch> wrote:

I believe there is only one code path leading to this function. Would
you post the full stacktrace?

On 01/24/2018 04:59 PM, Jeff Young wrote:
75% (!) of the time building the component tree is spent here:

bool SCH_LEGACY_PLUGIN_CACHE::IsFile( const wxString& aFullPathAndFileName ) const
{
   return m_libFileName == aFullPathAndFileName;
}



On 24 Jan 2018, at 15:31, Jeff Young <j...@rokeby.ie> wrote:

I’ve been trying to profile it to see exactly where the time is spent, but I’m having trouble getting valgrind to work.  I might put this on the back burner while I fix the issues you identified in the Update Footprints stuff.


On 24 Jan 2018, at 15:27, Wayne Stambaugh <stambau...@gmail.com> wrote:

Jeff,

I still think there is something wrong with populating the component
tree model.  It was working fine (even with the footprint viewer
loading) until Orson made changes to it support the new symbol library
editor.  He reverted those changes but maybe he missed something subtle
that is causing the issue.  I know Chris said he was going to look at it
when he got a chance since he wrote the original implementation.  He
seems to understand the performance issues.  I'm ok with lazy loading.
It should be a reasonably simple change since that's how the symbol
library table already works but that may problematic for the library
editor.  I can tell you that it is much more noticeable on windows than
linux on my desktop computer.  We really need to get this resolved
before the stable release.

Cheers,

Wayne

On 1/24/2018 9:01 AM, Jeff Young wrote:
I have my symbol libraries pared down to some 3900 symbols.

Loading the first time takes roughly 3-1/2 seconds.

The second time it will say “Loading symbols”, but what it’s actually doing is building the component tree.  This takes about 1-1/2 seconds.

I tried making the component tree static and doing a sync, but this only shaves about 1/2 a second off the time.

Maybe we need to show the dialog with just the libraries in the tree, and then load the symbols on demand?  (We’d probably need to load the first symbol of each library up-front to get the turn-down arrows, but that should be doable.)

Thoughts?
_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp




_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp



_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to