On Friday, December 6, 2013 12:47:54 AM UTC-8, Robert Voigtländer wrote:
 
> I try to squeeze out some performance of the code pasted on the link below.
> http://pastebin.com/gMnqprST

Several comments:

1) I find this program to be very difficult to read, largely because there's a 
whole LOT of duplicated code.  Look at lines 53-80, and lines 108-287, and 
lines 294-311.  It makes it harder to see what this algorithm actually does.  
Is there a way to refactor some of this code to use some shared function calls?

2) I looked up the "Bresenham algorithm", and found two references which may be 
relevant.  The original algorithm was one which computed good raster 
approximations to straight lines.  The second algorithm described may be more 
pertinent to you, because it draws arcs of circles.

    http://en.wikipedia.org/wiki/Bresenham's_line_algorithm
    http://en.wikipedia.org/wiki/Midpoint_circle_algorithm

Both of these algorithms are old, from the 1960's, and can be implemented using 
very simple CPU register operations and minimal memory.  Both of the web pages 
I referenced have extensive example code and pseudocode, and discuss 
optimization.  If you need speed, is this really a job for Python?

3) I THINK that I see some code -- those duplicated parts -- which might 
benefit from the use of multiprocessing (assuming that you have a multi-core 
CPU).  But I would have to read more deeply to be sure.  I need to understand 
the algorithm more completely, and exactly how you have modified it for your 
needs.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to