On Monday 30 April 2007 21:35:57 Hans-Peter Jansen wrote: > Am Montag, 30. April 2007 16:22 schrieb Danny Pansters: > > The code that does the video capturing is written in C and used in the > > rest of the app as a python module (using SWIG to expose a dozen simple > > control functions). > > You may want to do yourself a favour and wrap that stuff with sip. That's > exactly the kind of tasks, sip was invented for. Sure, swig isn't bad, but > sip will create a single importable .so in less time, without any auxiliary > python wrapper modules with better load time and run time performance. >
Because sip is more complicated (as in overkill). I use basic types and simple C code. They do things like ioctls and SDL display. The way it is now I can have the swig directives in my normal header file so that foo.h and foo.c are basically all I need/have (well three times for manipulating three hardware drivers). I like to avoid any extra complexity as much as possible. I can't verify your claims about speed and load time. I think they're broad and generalizing. I'm not having performance issues. If I would I'd move the offending code from Python to C (or consider pyrex). Compared to the GUI it's speedy enough. Besides, working with hardware, such as i2c devices for tuners, I can tell you that some operations are just dog slow by nature. A little python layer more or less between it won't even matter. I think in general you (well, I) can improve performance a lot more by making the GUI code more efficient. And of course by byte compiling all py modules. It's my understanding that sip was invented to primarily wrap C++ and especially TrollTech's C++. Anyway, this is OT... but interesting nonetheless. Dan _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
