From: Guy K. K. <g....@ma...> - 2009-11-17 04:23:24
|
The weekend before last I gave a presentation at (the first) Kiwi PyCon on live data plotting and visualisation. I have mainly focused on (2D and 3D) plotting tools, but due to its unique features also included Visual Python into the mix. One of these unique features was speed. When it comes to the rendering of individual, unrelated objects, I have not seen anything faster than Visual. Some tools (maybe Mayavi) may be faster (or as fast) on structured data (that is e. g. vector fields in a cartesian array), but whenever I had to individually create and manage many data points, Visual was just the best in speed as compared with the other tools I'm familiar with. Having said that, Mayavi also provides an API that tries to be (somewhat) compatible to Visual (I think to Visual 3.x). But it wasn't nearly as fast as Visual. If you for example run the doublependulum.py example from both, you'll be amazed how speedy the pendulum swings by, and that's just with less than 10 rendered objects. But there also performance can be increased by setting the environment variable ETS_TOOLKIT=qt4 (to use the Qt4 backend, it's using "wx" by default). Still, speed is not nearly as fast, due to the fact that Mayavi goes through these abstraction layers: Python -> Traits -> VTKPython -> VTK -> OpenGL And Visual goes Python -> C++ -> OpenGL Of course, Mayavi has got grand additional nifty features due to that, but they do hinder execution speed quite significantly. My slides of the talk are here: http://www.slideshare.net/XEmacs/python-data-plotting-and-visualisation- extravaganza And a paper is soon to be available in The Python Paper Monograph Series issue for the Kiwi PyCon proceedings (see http://pythonpapers.org) Guy -- Guy K. Kloss Institute of Information and Mathematical Sciences Te Kura Pūtaiao o Mōhiohio me Pāngarau Massey University, Albany (North Shore City, Auckland) 473 State Highway 17, Gate 1, Mailroom, Quad B Building voice: +64 9 414-0800 ext. 9585 fax: +64 9 441-8181 G....@ma... http://www.massey.ac.nz/~gkloss |