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 <de...@astro.physik.uni-goettingen.de> wrote:

> From: Derek Homeier <de...@astro.physik.uni-goettingen.de>
> Subject: Re: [matplotlib-devel] Planning for 1.3.0
> To: "matplotlib development list" <matplotlib-devel@lists.sourceforge.net>
> 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
> Matplotlib-devel@lists.sourceforge.net
> 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
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to