Hi Derek, That is good to hear. The slowdown was caused by the performance of Quartz itself, but it depends strongly on the line width. In your example, the plot appears immediately if you use linewidth=0.9, but (with matplotlib 1.2.1) takes minutes to appear if you use linewidth=1.0. The change in set_dpi caused the line width actually used for drawing to increase slightly. The increase was very small, but big enough to trigger the ultraslow behavior of Quartz. As I mentioned, we solved this by breaking up the path into many subpaths, which solved the problem (without having to change set_dpi back). Anyway, if I understand your mail correctly, the problem has been fixed in HEAD. Is the 1.3 branch also OK now? In your first post you mentioned that there was some RuntimeError.
Best, -Michiel. --- On Sat, 4/13/13, Derek Homeier <[email protected]> wrote: > From: Derek Homeier <[email protected]> > Subject: Re: [matplotlib-devel] Planning for 1.3.0 > To: "matplotlib development list" <[email protected]> > Date: Saturday, April 13, 2013, 9:03 AM > Hi Michiel, > > On 13.04.2013, at 1:30AM, Michiel de Hoon wrote: > > > The slow speed for long paths like the one in your > example was due to a limitation to Quartz itself. This was > solved by breaking the path up into subpaths of up to 100 > points. But you mentioned that releases before 1.2 were not > slow (and I verified this with matplotlib 1.1.1), suggesting > that something else is going on. Can you check which change > between 1.1.1 and 1.2 is causing the slowdown for your > example? > > It's the passing of set_dpi (commit 6533674) - that's still > unchanged in master, > but I don't see any speed penalty compared to 1.1.1 any > more. I don't know if > the change you mentioned above completely fixed this or just > made up for it > by speeding it up otherwise… > I have just merged all updates to backend_maxosx.py and > _macosx.m back > into 1.2.1, and this seems to solve the issue and passes all > tests as well. > > Cheers, > > Derek > > > ------------------------------------------------------------------------------ > Precog is a next-generation analytics platform capable of > advanced > analytics on semi-structured data. The platform includes > APIs for building > apps and a phenomenal toolset for data science. Developers > can use > our toolset for easy data analysis & visualization. Get > a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > _______________________________________________ > Matplotlib-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Matplotlib-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/matplotlib-devel