On 07/14/2010 11:41 AM, Stephen Evans wrote: > Hi, > > While testing Psyco V2 to see if it would offer any speed improvements I > tried it with some applications using matplotlib. Exceptions were raised > that were easily resolved by replacing calls to min() and max() with > their numpy equivalents numpy.amin() and numpy.amax() in the matplotlib > code. > > Simply demonstrated by inserting at the beginning of, say, matplotlib's > examples/api/barchart_demo.py : > > import psyco > psyco.full() > > which caused: > > Traceback (most recent call last): > File "barchart_demo.py", line 29, in<module> > ax.set_xticks(ind+width) > File "c:\python26\lib\site-packages\matplotlib\axes.py", line 2064, > in set_xticks > return self.xaxis.set_ticks(ticks, minor=minor) > File "c:\python26\lib\site-packages\matplotlib\axis.py", line 1154, > in set_ticks > self.set_view_interval(min(ticks), max(ticks)) > File "c:\python26\lib\site-packages\psyco\builtin.py", line 75, in min > return _min(*args) > File "c:\python26\lib\site-packages\psyco\builtin.py", line 34, in _min > if not iterable: > ValueError: The truth value of an array with more than one element is > ambiguous. Use a.any() or a.all() > > > software used: > > Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit > (Intel)] on win32 > Type "help", "copyright", "credits" or "license" for more information. > >>> import psyco > >>> psyco.version_info > (2, 0, 0, 'final', 0) > >>> import numpy > >>> numpy.version.version > '1.4.1' > >>> import matplotlib > >>> matplotlib.__version__ > '0.99.3' > > > Psyco V2 is available from: http://codespeak.net/svn/psyco/v2/dist/ > > Should numpy.min()/numpy.amin() be used on array like objects within > matplotlib, or is min() adequate ? Ditto max().
When short sequences are involved, min() is much faster than amin(). If min() is called only a few times per plot in such cases, using the slower function would cause a negligible slowdown. I'm reluctant to change mpl to work around a bug in psyco, though. When you did make the substitution and do the test, was there a big speedup? Eric > > > Stephen Evans > > (Out of interest I came across numpy ticket #1286 while looking for this > issue.) > > > > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users