10/01/14 19:35, Maciej Sumiński kirjoitti:
the board that I recommended for testing the GAL
(http://www.ohwr.org/attachments/download/2187/wrs.kicad_pcb), when you
drag the biggest IC in the middle, as it contains the greatest number of
nets connected. After being dropped you may observe a freeze for a short
time, it is the ratsnest algorithm going - we have to decide if it is
acceptable.
While the big redesign/rewrite of Kicad core is going on, it might be a
good moment to think some radical moves. Designing all computationally
intensive parts with multi core processors, de facto available
SIMD/Vector instructions and OpenCL in mind.
As an example instruct the compiler to autovectorize just that ratsnest
calculation. Or the previous plus function written to support multiple
threads. Running the UI thread and processing threads separate, say the
ratsnest being constantly iterated in the background when it changes.
Just by GCC autovectorization its easy to get ten times more comparing
or multiplying performane.
-Vesa