ID: | 2508 |
From: | ge...@igor2.repo.hu |
Date: | Thu, 13 Dec 2018 17:34:18 +0100 (CET) |
Subject: | [pcb-rnd] find.c rewrite, test request |
replies: | 2510 from ge...@igor2.repo.hu |
Hi all, you may remember how much I bashed the find.c we inherited from pcb. The code is unreasonably complicated, not flexible enough in what it is doing and the API is painful. Still, it's running a lot of things under the hood, from network optimization stuff to drc. I always wanted to rewrite it, ha dplans for it since at least 2015, but it looked like a huge chunk of work. Finally, I scheduled it for this cycle. The good news is, that in the mean time the whole problem got much smaller: with the new data model I've already fixed up some parts in the past, and solving the core problem became much simpler than I expected. So after one day spent mostly on this, I have the new code: - it has a more flexible API - it does not have unwanted side effects - it's much smaller, even tho it offers more features (~200 sloc vs. ~750 sloc) - according to my measurements on a middle sized board (340 terminals), it got 25% faster We still have the old code too. By default the old code is used. The new code needs testing. Please do this: - enter action: brave - tick the newfind field - use the normal find UI, {c f} keys, to check if it maps connections properly; when the new code is enabled, the action prints an info line about the number of objects found in the log - if you find a case that doesn't work properly, please check it with the old version (newfind in brave turned off); if the behavior differs, please report it as a bug, with the example board sent and the exact location of the {c f} specified We need to test this out becuase I will start removing the old find code soon. TIA, Igor2
Reply subtree:
2508 [pcb-rnd] find.c rewrite, test request from ge...@igor2.repo.hu
2510 Re: [pcb-rnd] find.c rewrite roadmap, test request from ge...@igor2.repo.hu
2511 Re: [pcb-rnd] find.c rewrite roadmap, test request from ge...@igor2.repo.hu