On Thursday 17 February 2005 20:47, Brian Thomason wrote: > We've been using PyQT/PyKDE here at Linspire for some time now to > develop a handful of applications. One of these is Lsongs, and it > has grown quite large and has a very large memory footprint. We're > trying to reduce this a bit in various ways (switching to gstreamer > from libxine for instance) and I was curious if there was a way to > reduce the footprint size of pyqt/pykde. The shared object files > themselves are quite large - Larger than their C++ counterparts.
Since this is an actual concern of mine, too, I ran some tests with the attached script, mainly to explore the impact of importing: from qt import Q... versus from qt import * To conclude, it is quite small, but see yourself: On SuSE 9.0, 2.4.21-273-athlon: sip version: 4.1.1 Qt version: 3.2.1 PyQt version: 3.13 the difference is about 80k :-( VmSize: 63072 kB VmLck: 0 kB VmRSS: 16152 kB VmData: 4380 kB VmStk: 44 kB VmExe: 4 kB VmLib: 21640 kB VmSize: 63108 kB VmLck: 0 kB VmRSS: 16236 kB VmData: 4376 kB VmStk: 44 kB VmExe: 4 kB VmLib: 21676 kB On SuSE 9.2, 2.6.8-24.11: sip version: 4.0.1 Qt version: 3.3.3 PyQt version: 3.12 (all from kdebindings3-python-3.3.0-13): VmSize: 26216 kB VmLck: 0 kB VmRSS: 14148 kB VmData: 4336 kB VmStk: 56 kB VmExe: 2 kB VmLib: 19606 kB VmSize: 26352 kB VmLck: 0 kB VmRSS: 14156 kB VmData: 4472 kB VmStk: 56 kB VmExe: 2 kB VmLib: 19606 kB If some kind soul could explain the huge difference in VmSize between 2.4 and 2.6 from /proc/<pid>/status, I would feel much better.. Pete
import sys if len(sys.argv) > 1 and sys.argv[1] == '-a': from qt import * else: from qt import QApplication, QPushButton, SIGNAL, qApp a = QApplication(sys.argv) b = QPushButton("&Hello World", None) a.setMainWidget(b) b.show() a.connect(b, SIGNAL("clicked()"), qApp.quit) a.exec_loop()
_______________________________________________ PyKDE mailing list PyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde