← Back to team overview

kicad-developers team mailing list archive

Re: Another performance patch....

 

As a stop-gap for 5, could we create and delete a dummy file when saving
footprints?  That should trigger the UNIX time update for directories.  Or
would that approach be too hack-y?

-S

2018-02-10 17:49 GMT-08:00 Wayne Stambaugh <stambaughw@xxxxxxxxx>:

> Jeff,
>
> This patch wont work.  It ignores changes to the footprint files already
> in the path.  You still have to check for a library path change and each
> individual file in the library path for changes.  The patch I just
> committed only fixed the issue when adding a new footprint file to an
> existing footprint library path.
>
> As for using wxFileSystemWatcher, I am not opposed to this but not for
> v5.  This will require a lot of testing on all platforms so I'm going to
> defer this for v6.
>
> Cheers,
>
> Wayne
>
>
> On 02/10/2018 05:36 PM, Jeff Young wrote:
>
>>
>>
>> On 10 Feb 2018, at 22:34, Jeff Young <jeff@xxxxxxxxx> wrote:
>>>
>>> Hi Wayne,
>>>
>>> Yep, just a minute.  (I suggested you back your other change out first
>>> in the bug report, but don’t do that now as my rebase will be on top of
>>> your merge.)
>>>
>>> Cheers,
>>> Jeff.
>>>
>>>
>>> On 10 Feb 2018, at 22:28, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>>>>
>>>> Jeff,
>>>>
>>>> Would you please rebase the performance patch so I can use `git am` to
>>>> merge it.
>>>>
>>>> Thanks,
>>>>
>>>> Wayne
>>>>
>>>> On 02/08/2018 07:35 PM, Jeff Young wrote:
>>>>
>>>>> Ping.
>>>>> Any thoughts on patching wxWidgets for other platforms?
>>>>>
>>>>>> On 6 Feb 2018, at 14:08, Jeff Young <jeff@xxxxxxxxx <mailto:
>>>>>> jeff@xxxxxxxxx>> wrote:
>>>>>>
>>>>>> I accidentally dropped the dev list off the last few replies.  They
>>>>>> included an update which fixed the issue Seth hypothesised.
>>>>>>
>>>>>> But I’m updating it one more time because, well, I made it faster
>>>>>> again.
>>>>>>
>>>>>> There are two patches this time: the updated Kicad patch which knocks
>>>>>> yet another 1/4 second off both first- and subsequent-times, and a
>>>>>> wxWidgets patch which when combined with the Kicad patch brings the
>>>>>> subsequent-time to near-instantaneous.
>>>>>>
>>>>>> Since we maintain our own Mac wxWidgets there’s no reason not to get
>>>>>> the full benefit there.  I’ll leave it up to others to decide whether to
>>>>>> include the wxWidgets patch for other platforms.
>>>>>>
>>>>>> (Note: while the two patches are dependent on each other /for the
>>>>>> final /performance gain, they are /not/ dependent on each other for
>>>>>> compiling/linking/running.)
>>>>>>
>>>>>> Cheers,
>>>>>> Jeff.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 5 Feb 2018, at 22:48, Jeff Young <jeff@xxxxxxxxx <mailto:
>>>>>>> jeff@xxxxxxxxx>> wrote:
>>>>>>>
>>>>>>> I think I must be having a thick moment, because I’m still not
>>>>>>> following you.
>>>>>>>
>>>>>>> If I create a new library in the Footprint Editor and save it to a
>>>>>>> new location, then those components won’t be immediately available in Place
>>>>>>> Footprint until the library location is added to the Footprint Library
>>>>>>> Table, right?
>>>>>>>
>>>>>>> Or am I completely missing something?
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Jeff.
>>>>>>>
>>>>>>> On 5 Feb 2018, at 22:17, Wayne Stambaugh <stambaughw@xxxxxxxxx
>>>>>>>> <mailto:stambaughw@xxxxxxxxx>> wrote:
>>>>>>>>
>>>>>>>> On 02/05/2018 05:08 PM, Jeff Young wrote:
>>>>>>>>
>>>>>>>>> Hi Wayne,
>>>>>>>>> Do you mean if I use a text editor to modify a module file while
>>>>>>>>> KiCad is running, will KiCad notice and reload it?  The answer is yes.  The
>>>>>>>>> checksum is generated as a hash of the disk directory last-modified dates;
>>>>>>>>> the lib-table only tells it what the current libraries are.
>>>>>>>>>
>>>>>>>>
>>>>>>>> A text editor is one use case but the footprint library editor can
>>>>>>>> also save an entire library file without going through the fp-lib-table so
>>>>>>>> it's important that we don't break this behavior.  I may have missed this
>>>>>>>> as I am sitting in Montreal airport after missing my connection with no
>>>>>>>> sleep, a nasty case of jet lag, and an inbox that is sprialing out of
>>>>>>>> control so I may have just overlooked it.
>>>>>>>>
>>>>>>>> Nice talk at FOSDEM, by the way.  Do we all get t-shirts? ;)
>>>>>>>>>
>>>>>>>>
>>>>>>>> Maybe one of these days I'll get around to some KiCad apparel of
>>>>>>>> some type to give out to the dev team.  Although I don't think you should
>>>>>>>> depend on my lack of graphics skills to design anything. :)
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>>
>>>>>>>> Wayne
>>>>>>>>
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>>> Jeff.
>>>>>>>>> PS: updated patch attached to fix the issue Seth discovered
>>>>>>>>> (hypothesised?).
>>>>>>>>>
>>>>>>>>>> On 5 Feb 2018, at 21:59, Wayne Stambaugh <stambaughw@xxxxxxxxx
>>>>>>>>>> <mailto:stambaughw@xxxxxxxxx>> wrote:
>>>>>>>>>>
>>>>>>>>>> What happens when footprint library file is modified outside the
>>>>>>>>>> fp-lib-table?  At one point you could change the footprint library file
>>>>>>>>>> without performing the file write through the fp-lib-table and the next
>>>>>>>>>> time you accessed the library, it would recognize the file was modified and
>>>>>>>>>> reload the cache.  Please make sure this behavior is not broken.
>>>>>>>>>>
>>>>>>>>>> On 02/05/2018 04:51 PM, Jeff Young wrote:
>>>>>>>>>>
>>>>>>>>>>> wxWidgets should return Now() which will make the checksums not
>>>>>>>>>>> match and trigger a reload.
>>>>>>>>>>> Of course what actually happens is that wxWidgets asserts. ;)
>>>>>>>>>>> New patch on the way….
>>>>>>>>>>> Cheers,
>>>>>>>>>>> Jeff.
>>>>>>>>>>>
>>>>>>>>>>>> On 5 Feb 2018, at 21:42, Seth Hillbrand <
>>>>>>>>>>>> seth.hillbrand@xxxxxxxxx <mailto:seth.hillbrand@xxxxxxxxx>
>>>>>>>>>>>> <mailto:seth.hillbrand@xxxxxxxxx>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Jeff-
>>>>>>>>>>>>
>>>>>>>>>>>> Will removing a footprint library trigger a refresh?  Or will
>>>>>>>>>>>> that mess up the checksum calculation?
>>>>>>>>>>>>
>>>>>>>>>>>> -S
>>>>>>>>>>>>
>>>>>>>>>>>> 2018-02-05 13:04 GMT-08:00 Jeff Young <jeff@xxxxxxxxx <mailto:
>>>>>>>>>>>> jeff@xxxxxxxxx> <mailto:jeff@xxxxxxxxx>>:
>>>>>>>>>>>>
>>>>>>>>>>>>   This one for Place Footprint (specifically the List All dialog
>>>>>>>>>>>>   found therein).
>>>>>>>>>>>>
>>>>>>>>>>>>   On my machine it knocks the first-use time from 4s to 3s and
>>>>>>>>>>>> the
>>>>>>>>>>>>   subsequent-use time from 2.5s to 1s.
>>>>>>>>>>>>
>>>>>>>>>>>>   Cheers,
>>>>>>>>>>>>   Jeff.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>   _______________________________________________
>>>>>>>>>>>>   Mailing list: https://launchpad.net/~kicad-developers
>>>>>>>>>>>>   <https://launchpad.net/~kicad-developers>
>>>>>>>>>>>>   Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:
>>>>>>>>>>>> kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>>>>>>>   <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>>>>>>>   Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>>>>>>>>   <https://launchpad.net/~kicad-developers>
>>>>>>>>>>>>   More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>>>   <https://help.launchpad.net/ListHelp>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>>>>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:
>>>>>>>>>>>> kicad-developers@xxxxxxxxxxxxxxxxxxx> <mailto:
>>>>>>>>>>>> kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>>>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:
>>>>>>>>>>> kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:
>>>>>>>>>> kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:
>>>>>> kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>
>>>>
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>> More help   : https://help.launchpad.net/ListHelp
>>>>
>>>
>>>
>>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>

References