[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-bug: gschem unreasonably slow on moderate size schematics



Full_Name: Mark Whitis
Version: 20040111
OS: linux
Submission from: (NULL) (65.40.216.240)


gEDA becomes unreasonably slow on moderate size schematics (single C size sheet
with
about 210 components).   It appears that the program is using algorithms that
are of order N^2 or worse when it is entirely unnecessary.  Yes, I am using a
slow machine (450Mhz) but the performance is not acceptable and it appears that
it deteriorates exponentially with board size.

The program can take tens of seconds to respond to basic editing operations like
drawing nets and undoing a simple operation.

When drawing nets, there is a 4 second delay after drawing each segment,
presumably
while it checks for connections in an incredibly inefficient way.   This should
be
a simple check of one line segment against 1517 lines and 1370 pins but it acts
like
it is checking every net against every other net instead of just the one net I
added.
It should not take 500,000 cpu cycles to check each pair of line segments for
intersections.

It acts like the program is recalculating the positions of the join dots by
comparing
every net/pin against every other instead of storing a list of the joints and
adding to it when you add a net and deleting from it when you delete a net.

Deleting the new net takes 2 seconds, but undo takes 10.