I've observed a significant difference in the time required by different
plotting functions. With a plot of 5000 random data points (all
positive, non-zero), plt.semilogx takes 3.5 times as long as plt.plot.
(Data for the case of saving to PDF, ratio changes to about 3.1 for PNG
on my machine.)

I used cProfile (script attached) and found several significant
differences between the profiles of each plotting command. On my first
analysis, it appears that most of the difference is due to increased use
of mathtext in semilogx:

                                ==================================
                                Plotting command
==================================================================
cumtime (s)                     plot    semilogx  semilogy  loglog
==================================================================
total running time              0.618   2.192     0.953     1.362
axis.py:181(draw)               0.118   1.500     0.412     0.569
text.py:504(draw)               0.056   1.353     0.290     0.287
mathtext.py:2765(__init__)      0.000   1.018     0.104     0.103
mathtext.py:2772(parse)         ---     1.294     0.143     0.254
pyparsing.py:1018(parseString)  ---     0.215     0.216     0.221
pyparsing.py:3129(oneOf)        ---     0.991     ---       ---
pyparsing.py:3147(<lambda>)     ---     0.358     ---       ---
lines.py:918(_draw_solid)       0.243   0.358     0.234     0.352
=================================================================

It seems that semilogx could be made as fast as semilogy since they have
to do the same amount of work, but I'm not sure where the differences
lie. Can anyone suggest where I should look first?

Much thanks,

Andrew Hawryluk

matplotlib.__version__ = '0.99.1'
Windows XP Professional
Version 2002, Service Pack 3
Intel Pentium 4 CPU 3.00 GHz, 2.99 GHz, 0.99 GB of RAM

Attachment: semilogPerformance.py
Description: semilogPerformance.py

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to