We also call SynchronizeNetsAndNetClasses() twice (once in NETINFO_LIST::buildListOfNets() and once immediately after returning from it).
> On 3 Apr 2018, at 15:41, Jeff Young <j...@rokeby.ie> wrote: > > With the fix, TRACK::GetBestInsertPoint(BOARD*) takes 6.2% of a file load on > a reasonably dense board. > > As points of comparison, BOARD::BuildConnectivity() takes 16.2% and 15.5%, > and PCB_EDIT_FRAME::ReFillLayerWidget() 3.3%. > > (We could of course have a faster and more resilient load if we added > GetBestInsertPoint() but stopped calling BuildConnectivity() twice*.) > > Cheers, > Jeff. > > * Once from OpenProjectFiles() and once from OpenProjectFiles()/SetBoard(). > > >> On 3 Apr 2018, at 14:48, Jeff Young <j...@rokeby.ie <mailto:j...@rokeby.ie>> >> wrote: >> >> The track/via insertion routines have two modes: blind-append and >> insert-where-appropriate. The board parser current relies on the file being >> correct and uses append. Changing it to insert fixes the bug. >> >> I like this change because it makes us more resilient, and because it will >> fix any other (unknown) bugs due to tracks not being grouped properly. >> >> I don’t like this change because it will make board loading slower. >> >> Another idea would be to keep track of tracks/vias as they come in, and only >> do the sort if we find some out of order. That’s definitely more risky, >> though, and may not be much faster. >> >> I’ll do some timings on a large board…. >> >>> On 3 Apr 2018, at 14:36, Wayne Stambaugh <stambau...@gmail.com >>> <mailto:stambau...@gmail.com>> wrote: >>> >>> On 4/3/2018 9:29 AM, Tomasz Wlostowski wrote: >>>> On 03/04/18 15:13, Jeff Young wrote: >>>>> The clean-up algorithms depend on tracks & vias assigned to the same net >>>>> to be grouped in the segment list. Is that supposed to be guaranteed? >>>> >>>> It is/used to be like this (there was/is a special sorting function, >>>> called at least in the TRACK_CLEANER). I would however rewrite the >>>> overlapping segment merging algorithm to not rely on the order of >>>> segments in the data structure. If nobody opposes I could give this a try. >>>> >>>> Tom >>> >>> How much risk are we looking at? Wouldn't it be more prudent to just >>> ensure the sorting is performed before performing the track clean >>> operation? I would rather avoid creating any new issues this close to >>> v5. If we cannot avoid making the change, then we may just have to deal >>> with it but I would rather that be the last option. >>> >>>> >>>> >>>>> >>>>> (I have a file where it is not the case.) >>> >>> I thought the sorting was always performed so that segments and vias >>> would always be grouped by their net. I'm not sure how a board file was >>> created with an ungrouped segment. @JP, care to comment on this? >>> >>>>> _______________________________________________ >>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>> <https://launchpad.net/~kicad-developers> >>>>> Post to : kicad-developers@lists.launchpad.net >>>>> <mailto:kicad-developers@lists.launchpad.net> >>>>> 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 >>>> <https://launchpad.net/~kicad-developers> >>>> Post to : kicad-developers@lists.launchpad.net >>>> <mailto:kicad-developers@lists.launchpad.net> >>>> 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 >>> <https://launchpad.net/~kicad-developers> >>> Post to : kicad-developers@lists.launchpad.net >>> <mailto:kicad-developers@lists.launchpad.net> >>> 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 >> <https://launchpad.net/~kicad-developers> >> Post to : kicad-developers@lists.launchpad.net >> <mailto:kicad-developers@lists.launchpad.net> >> 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@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