Am Son, 2002-11-24 um 23.35 schrieb Vincent Wagelaar: > I am currently working with a QListView and QListViewItem. If I don't derive > from these objects speed is great, but derived these objects become very > slow.
First of all - you are experiencing an inherent fact in the nature of Python bindings which support deriving and virtual methods. If you don't subclass, there's nearly no Python code involved - if you do subclass, your (really really slow - compared to the speed of executing code in C/C++ extension modules) Python code is called. There's nothing you can do about this fact. >What is the usual approach for speeding this up? You have to be very careful about _what_ methods you overload. For instance, overloading event() is a very bad idea, because event() is called very often - hence slow Python code gets executed very often. Also, try implementing behaviour using C++-SIGNALS wherever it is possible. You might want to check if removing your additional debugging code (print statements are known to slow down very much) makes a difference, too. If this all don't work for you, then I'm afraid you have to implement your derived class in C++ and use sip to bind this and use it from Python. Yours, Mickey. -- :M: -------------------------------------------------------------------------- Dipl.-Inf. Michael 'Mickey' Lauer [EMAIL PROTECTED] Raum 10b - ++49 69 798 28358 Fachbereich Informatik und Biologie -------------------------------------------------------------------------- _______________________________________________ PyKDE mailing list [EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde
