[PyQt] Any Large PyQt Projects?
kovid at kovidgoyal.net
Thu Feb 19 23:57:50 GMT 2009
I'm the lead developer of calibre (http://calibre.kovidgoyal.net) which is
~120k lines of python + another few thousand lines of C code.
I've found in general that you can quite easily use multi-processing instead of
multi-threading to get around the global interpreter lock (this assumes that your
algorithms dont require lots of data passing). For performance/os
interface sections of the code, it's easy enough to write C modules to do the
neccessary work. It occassionally becomes neccessary to drop down to C for high
performance parts of the GUI as well, though i can't comment on OpenGL.
Basically, python will work very well for about 90-95% of what you need to do,
for the rest, write C modules. Interfacing Python and C is trivial.
On Thu, Feb 19, 2009 at 02:33:57PM -0800, Brent Villalobos wrote:
> I'm looking for examples from people who have written large PyQt
> applications and I would like to hear your opinions on what worked well
> and what did not specifically with choosing python over C/C++. In
> particular, how does your python application handle tasks that require a
> lot of computation? How does it handle multiple thread performance
> given python's limitations on only running on one CPU (global
> interpreter lock)? I don't need too much detail (obviously nothing
> proprietary), but I just want to know if anyone has any "red flags" that
> people should be aware of before writing a large python gui app with
> things like openGL contexts and heavy mathematical computation?
> Let's make this interesting and see who has written the largest PyQt
> application. How many lines of code are we talking about? 10,000?
> 100,000? 1,000,000!!!!???
> PyQt mailing list PyQt at riverbankcomputing.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 197 bytes
Desc: not available
Url : http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20090219/d492a0a1/attachment.bin
More information about the PyQt