← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Speed improvement for Duplicate functionality

 

Orson,

Are you still out there?  I haven't heard from you in a while.  Would
you please take a look at this patch when you get a chance.  It looks
reasonable to me but you are the resident expert on the new tool framework.

Thanks,

Wayne

On 6/5/2017 5:59 AM, Jean-Samuel Reynaud wrote:
> Hi,
> 
> I had tested this patch and it's working good for me. For me it's a good
> improvement in term of speed.
> 
> Regards,
> Le 05/06/2017 à 10:13, Oliver Walters a écrit :
>> Friendly bump - has anyone had a chance to review this?
>>
>> On Sun, May 28, 2017 at 11:14 PM, Oliver Walters
>> <oliver.henry.walters@xxxxxxxxx <mailto:oliver.henry.walters@xxxxxxxxx>>
>> wrote:
>>
>>     As a follow-up to this, I also notice that if you select a large
>>     number of items, the UI hangs for a *very long* time after the
>>     selection is complete. The same occurs when you click at an empty
>>     position to deselect all items. 
>>
>>     Can be a minute or more for large numbers of items.
>>
>>     I have not been able to find the cause for this but I do not think
>>     it is the fault of SELECTION_TOOL in this case.
>>
>>     Oliver
>>
>>     On Sun, May 28, 2017 at 10:40 PM, Oliver Walters
>>     <oliver.henry.walters@xxxxxxxxx
>>     <mailto:oliver.henry.walters@xxxxxxxxx>> wrote:
>>
>>         Hey all,
>>
>>         I noticed that the Duplicate functionality in pcbnew / modedit
>>         was woefully slow when copying more than a handful of items.
>>
>>         I benchmarked it with 1000 items, it took 58 seconds to perform
>>         the duplication (KiCAD was at 100% CPU the whole time).
>>
>>         I have attached a patch that reduces this time to ~200ms for the
>>         same set of items.
>>
>>         The speed issue is due to each item being passed through the
>>         tool framework multiple times. The patch adds a tool function to
>>         select / deselect a list of items with a single call
>>
>>         Regards,
>>         Oliver
>>
>>
>>
>>
>>
>> _______________________________________________
>> 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