Hi Michiel,

This looks great -- in particular I am intrigued by the final timing
results which show your backend 12 times faster than tkagg.  I am not
sure where this speedup is coming from -- do you have some ideas?
Because you are creating lots-o-subplots in that example, there is a
lot of overhead at the python layer (many axes, many ticks, etc) so I
don't see how a faster backend could generate such a significant
improvement.  What kind of timings do you see if you issue a plot
rather than bar call in that example?  One thing about bar in
particular is that we draw lots of separate rectangles, each with thie
own gc, and it has been on my wishlist for some time to do this as a
collection.  If you are handling gc creation, etc, in C, that may
account for a big part of the difference.

Since the new macosx backend was released in 0.98.5, I also need to
decide whether this patch belongs on the branch, and hence will get
pushed out as early as today in a bugfix release when some changes JJ
and Michael are working on are ready, or the trunk, in which case it
could be months.  In favor of the trunk: this is more of a feature
enhancement than a bugfix, and patches to the branch should be
bugfixes with an eye to stability of the released code, though a good
argument could be made that this is a bugfix.  In favor of the branch:
it is brand new code advertised as beta in 0.98.5 and so it is
unlikely that anyone is using it seriously yet, and since it is beta,
we should get as much of it out there ASAP so folks can test and pound
on it. I'm in favor of branch, but I wanted to bring this up here
since we are fairly new to the branch/trunk release maintenance game
and want to get some input and provide some color about which patches
should go where, especially in gray areas like this.

JDH


On Tue, Dec 16, 2008 at 6:08 PM, Michiel de Hoon <mjldeh...@yahoo.com> wrote:
> Dear all,
>
> I have now implemented the draw_path_collection, draw_quad_mesh, and 
> draw_markers methods in the Mac OS X native backend (see patch 2179017 at
> http://sourceforge.net/tracker/?func=detail&atid=560722&aid=2179017&group_id=80706).
>  Some timings are below. In terms of raw drawing speed, the native backend 
> can be either faster or slower than agg. On the other hand, the native 
> backend can be considerably faster if the agg backend uses many calls to 
> draw(); the native backend can avoid these superfluous because it has 
> complete control over the event loop (see the third example below).
> # Timings in seconds
> # n     Mac OS X  TkAgg
> # 2          2      6
> # 3          3     23
> # 4          5     66
>
>

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to