Someone here may have some ideas, but you're really going
> to need to do some profiling to find out where your
> bottlenecks are. If most of the time is spent in the actual
> Agg drawing calls, no amount of Pyrex, psyco, etc will
Seconded. Spend some time with the profiler and when you find the
bottlenecks, post what you learn.
> By they way, I haven't looked in the source, but does
> matplotlib (and the Agg back-end) use "vectorized" calls to
> the drawing? AS an example, with wxPython, calling
> DC.DrawPointList() with an NX2 array of point coordinates
> is orders of magnitude faster than looping through the
> array and calling DC.DrawPoint() thousands of times. The
> overhead of that round-trip between Python and C++ is
> substantial. Maybe tricks like that could speed up the Agg
> back-end too.
No, there is no low hanging fruit like that for the typical use cases
(line and marker drawing in agg). All of those loops happen in
extension code over numerix arrays.
But there are plenty of opportunities for optimization in matplotlib
and the way it is used, so code snippets and profiler results will be